C#——更深入了解面向对象

一、楚广明视频与大话设计

在楚广明视频中和大话设计这本书中,我最大的感悟就是对于面向对象的更深入了解。

1. 类的理解

我在中印象最深刻的一句话就是:“C#程序全部都是由类组成的,所以说C#是一门完全面向对象的程序语言”。以前只是对觉得对象是一个人,类是人的总称这样子,但是这样子的想法让我无法把这些理解的东西汇入到代码里,但是,在模仿视频中代码自己创建类,定义属性方法的时候,我觉得我的理解变得深刻了许多。

当然,我还学习了结构struct。与类相比,结构可能更加死板一点,也正如视频中用的是adress,比较固定一点。

2. 接口的感悟

之前我一直认为接口就是类似于连接的地方,可是,从没有想过接口有可能是类似于方法的东西,使得其更加灵活,得心应手。

3. 异常处理

可能是之前敲机房的原因,导致我每次出现异常问题我都运用if……then结构

二、与VB对比

1. 更加面向对象

我感觉C#与vb相比,c#更加面向对象。感觉之前的代码大都是面向程序的。Vb没有很多了解封装,继承和多态,而在c#和大话学习中,更深入的感受到了这三点。

2.  类型不同

C#的数据类型分为两种:值类型与引用类型。值类型,表示实际数据,只是将值存放在内存中,值类型都存储在栈中,包括:int,char,float,double,bool,结构及枚举等

引用类型,表示指向数据的指针或引用,包含内存堆中对象的地址,未引用任何对象则为Null,包括:类,接口,字符串,数组,委托,Object。 这些是VB所欠缺的,另外C#有枚举类型,而VB则没有。但是二者有一个共同点就是数据类型转换。

总结:

第一次学习c#并没有特别陌生,因为有VB做基础,我觉得我应该再看一遍陈伟视频了。

时间: 2024-10-04 23:43:07

C#——更深入了解面向对象的相关文章

尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言

"尽管以C++为基础,但 Java 是一种更纯粹的面向对象程序设计语言". 无论C++还是Java 都属于杂合语言.但在 Java 中,设计者觉得这种杂合并不象在 C++里那么重要.杂合语言 允许采用多种编程风格:之所以说 C++是一种杂合语言,是因为它支持与 C语言的向后兼容能力.由于C++是 C的一个超集,所以包含的许多特性都是后者不具备的,这些特性使 C++在某些地方显得过于复杂. Java 语言首先便假定了我们只希望进行面向对象的程序设计.也就是说,正式用它设计之前,必须先将自

【重构.改善既有代码的设计】8、重新组织数据(更优雅的面向对象)

重新组织数据 Self Encapsulate Field(自封装值域) 自封装值域 就是 getter and setter,这就没啥好说的了. Replace Data Value with Object(以对象取代数据值) 比如:不用字符串表示电话号码,而用一个电话号码的类表示. 好处:更容易扩展,比如:以后需要一个函数来提取号码中的区号时,就可以直接写在这个类里面了. Change Value to Reference(将实值对象改为引用对象) 引用对象可以是指针.引用.下标等. 好处:

Python全栈开发,Day7 - 面向对象学习

本章内容 面向对象编程介绍 面向对象开发 面向对象的特性 一.面向对象编程介绍 介绍之前,先说一个例子: 你的老板要你做一款枪战游戏,游戏里面有很多的角色,比如CF里面的潜伏者和保卫者,在游戏里还有很多的玩家,每个玩家都有不同的名字和装扮,但是你发现这些玩家同一个阵容(潜伏者.保卫者)里的玩家具有很多相同的属性,于是你开始写代码,首先定义潜伏者1,名字.武器......等,然后保卫者1,同样,名字.武器......:代码如下: 1 def defenders(name,weapon,*args)

Python学习笔记(六)之 面向对象

一.面向过程 VS 面向对象 编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 ,一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种不同的方式,对这些不同的编程方式的特点进行归纳总结得出来的编程方式类别,即为编程范式.不同的编程范式本质上代表对各种类型的任务采取的不同的解决问题的思路,大多数语言只支持一种编程范式,当然也有些语言可以同时支持多种编程范式.两种最重要的编程范式分别是面向过程编程和面向

结构化与面向对象方法的比较

计算机软件在现代科学技术中有着十分重要地位和作用,已成为信息社会高技术竞争的关键领域之一.我在这篇文章中针对计算机软件两大开发方法:结构化方法与面向对象方法进行了梳理.对比,剖析了结构化方法和面向对象方法这两种软件开发方法具体的分析设计过程,讨论了各自在不同软件开发中的应用及局限性,并在最后提出了一点自己的看法. 1结构化方法 结构化方法(Structured Methodology)是编程领域的一种典型的系统开发方法. 它采用了系统科学的思想方法,从层次的角度,自顶向下地分析和设计系统. 结构

python Day6 面向对象学习

面向过程 VS 面向对象 编程范式 编程是 程序 员 用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 , 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种不同的方式, 对这些不同的编程方式的特点进行归纳总结得出来的编程方式类别,即为编程范式. 不同的编程范式本质上代表对各种类型的任务采取的不同的解决问题的思路, 大多数语言只支持一种编程范式,当然也有些语言可以同时支持多种编程范式. 两种最重要的编程范式分别是面向过

基于对象和面向对象的区别

基本上每个程序员都听过面向对象(Object-oriented)和基于对象(Object-based)这两个概念.其实这两个概念并没有很明显的界线,不过现在业界比较统一的认为只有完全具有封装.继承.多态三大特点的才能够叫做面向对象,否则即使设计中蕴含了一些对象的概念,也顶多称为基于对象. 基于对象是过程化语言自然演进而来,随着ADT思想的成熟而成熟,七十年代到八十年代初曾经非常流行,但是很快被风头更盛的面向对象给遮盖了,最典型的代表是Ada83.一贯被人认为是过程化语言代表的C语言,在实际应用中

浅谈结构化方法和面向对象方法的理解

人对于世界的认识是不断的在深化的,人对于世界的改造方式也是在不断的改变的,在程序的世界里,并没有一种绝对的对,或者错,也没有绝对的好或者是坏,只要能解决一个问题,那这个方法就是可行的,就是好的,所谓结构化方法,又或者是面向对象的方法,都是人们在对世界的客观理解变化之后,所采取的一些反应,都是对这个社会的不同角度的理解,又或者说是对于解决问题从不同的角度提出来的一些解决办法,并没有根本上的对错之分,也不会说某种方法从此不会再有用武之地,退出历史舞台. 通过从概念上,本质上我们来对比面向对象方法和结

结构化方法与面向对象方法比较

结构化方法与面向对象方法比较 软件工程离不开软件开发方法,软件开发方法是指在项目投资规模和时间限制内.设计.实现符合用户需求的高质量软件,根据软件开发的特点,提出的多种软件开发策略.而自20世纪60年代以来,受到开发综合症"软件危机"的影响,软件开发方法不断地快速发展着,产生了许多众所周知的开发方法,比如结构化方法.原型法基于模型的VDM(维也纳开发)方法.面向对象方法等.其中,结构化方法和面向对象方法最具有代表性,在软件开发领域中使用比较广泛,下面我们就来对这两种方法进行说明和比较.