1. 面向对象vs面向过程程序员
C#是一种面向对象的编程语言。那么什么是面向对象的编程呢?在没有面向对象的编程语言前,那时候的编程语言叫什么?编程
面向对象的编程是将对象做为程序的基本单元,将程序和数据封装其中,以提升软件的重用性、灵活性和扩展性,对象里的程序能够访问及常常修改对象相关连的数据。在面向对象程序编程里,计算机程序会被设计成彼此相关的对象。面向对象程序设计能够看做一种在程序中包含各类独立而又互相调用的对象的思想。微信
在面向对象的编程思想出现前,传统的编程思想和编程语言是面向过程的。面向过程的编程是在面向对象编程出现之前很是流行的编程方法论。(软件行业的变化很快的,之前很流行的东西,随着新的东西不停的出来,没有多久就out了。)它主张将程序看做一系列函数的集合。程序经过调用一系列函数从而完成一个特定的功能。数据和函数是分开。编程语言
“面向过程”的分析就是分析出解决问题所须要的步骤,而后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就能够了。模块化
面向对象程序设计中的每个对象都把数据和功能集合成一个总体。都应该可以接受数据、处理数据并将数据传达给其它对象,所以它们均可以被看做一个小型的“机器”,即对象。函数
“面向对象”的分析是把构成问题事务分解成各个对象,创建对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为还有各个事物之间的互动。学习
举个例子:spa
2. 面向对象编程两个最重要的概念:类和对象。设计
举个例子帮助你们理解类和对象。code
车能够定义成一个类。它有颜色,品牌,行驶里程等属性,有启动发动机,中止发动机等功能。个人车就是车的一个实例,也就是车的一个对象。它的颜色是黑色的,它的品牌是奔驰(我梦想的品牌),它行驶1万千米,它有启动发动机,中止发动机等功能。个人车是一个独一无二的实际存在的。而做为类的车就是一个类别。咱们能够说个人车是一个车。能够用这个类别构建出各类有不一样属性的车。
在咱们前面的代码中已经接触到了C#的类(class)还有类的方法。咱们的代码主要都放在Program 类的Main方法里边。咱们也建立了咱们本身的方法。同时咱们也使用了类Console的writeline等方法。
在C#中几乎全部的东西都是和类相关的。咱们编写的程序是由不一样的类组成的。在每一个类中能够有不一样的属性和方法。如何去设计类和使用类呢?这就是面向对象编程要帮助咱们解决的事情。
3. 静态成员和实例成员
在类的成员的类型或者返回值类型前面加上关键字static,就能将该成员定义为静态成员(static member)。其余没有用static修饰的成员都是实例成员(instance member)或者称为非静态成员。静态成员属于类,被这个类的全部实例所共享;实例成员属于对象(类的实例),每个对象都有实例成员的不一样副本。
静态成员具备下列特征:
— 静态成员必须经过类名使用 . 运算符来引用,而不能用对象来引用。
— 一个静态字段只标识一个存储位置。不管建立了一个类的多少个实例,它的静态字段在内存中都只占同一块区域。
— 静态函数成员(方法、属性、事件、运算符或构造函数)不能做用于具体的实例,在这类函数成员中不能直接使用实例成员,必须经过类名来引用。
实例成员具备如下特色:
— 实例成员必须经过对象名使用 . 运算符来引用,而不能用类名来引用。
— 类的实例字段属于类的实例全部,每建立一个类的实例,都在内存中为实例字段开辟了一块区域。类的每一个实例分别包含一组该类的全部实例字段的副本。
— 实例函数成员(方法、属性、索引器、实例构造函数或析构函数)做用于类的给定实例,在它们的代码体内能够直接引用类的静态和实例成员。
其实,咱们在前面的几章中大量使用的Console类的WriteLine等方法都是静态方法,都是经过类名Console来引用的。
4. 面向对象编程的三个特性:封装,继承与复合,多态
三大特性之一 封装
1.什么是封装?
封装又叫隐藏实现。就是只公开代码单元的对外接口,而隐藏其具体实现。
好比咱们的手机,手机的键盘,屏幕,听筒等,就是其对外接口。咱们只须要知道如何按键就可使用手机,而不须要了解手机内部的电路是如何工做的。封装机制就像手机同样只将对外接口暴露,而不须要用户去了解其内部实现。细心观察,现实中不少东西都具备这样的特色。
2.如何实现封装?
在程序设计里,封装每每是经过访问控制实现的。C#中有 Public, Protected, Private 等访问控制符。经过用Public将信息暴露,Private,Protected将信息隐藏,来实现封装。
三大特性之二 继承与组合
1.继承
经过继承子类能够重用父类的代码。
2.组合
组合即将各个部分组合在一块儿。程序设计中就是用已有类的对象来产生新的类。
桌子由木板和钉子组合而成,台灯使用灯座,灯管,电线,接头等拼起来的。咱们发现本身周围的不少东西都是由更小的其它东西拼凑构成的,就像积木同样。相信你小的时候也曾拆开过许多你以为好奇的东西,去一看究竟。去看看这个新的类(class)究竟是由那些其余的类构成的。其实在你很小的时候你已经理解了组合。
程序设计中,组合体如今生成的新类里用到了现有类的实例,具体的代码例子在这里也不给出了,相信你一看就能明白。组合使生成新类更加简便和直观,实现也很是容易,相比继承这种经过已有类构造新类的方法,大多数人(包括在现实生活中)更喜欢组合。
三大基石之三 多态
多态是一个相对难理解的概念。多态和继承是紧密联系在一块儿的,没有继承就谈不上多态。
启动车(车){ 车.启动();}
当咱们把汽油车的一个对象做为参数传递给这个方法时,它会自动调用汽油车的启动方法。一样当咱们把电动车车的一个对象做为参数传递给这个方法时,它会自动调用电动车的启动方法。当咱们后来有新建了柴油车,太阳能车的时候,咱们不用修改这个方法。将柴油车,太阳能车类型的对象做为参数传递给这个方法时,它就自动调用它们相应的启动方法。
付费解答C#入门学习过程当中碰到的各类问题。
零基础学习C#入门,大多数的问题均可以经过自学或借助互联网解决。
可是仍是会有一些问题,不是那么容易解决,成为了你学习的绊脚石。最后甚至形成你学习的半途而废。一般学习C#编程入门,你会遇到20到30多个你不能很容易解决的问题。
这个时候,你最须要什么呢?
对!一个专业的老师给你帮助!
你在学习本课程中,遇到任何问题均可以经过qq或email想本教程做者进行求助。
只需30元,你就能够获得本教程做者的三次专业解答。因此你只需不到300元就能够顺利的完成C#入门,今后推开软件行业的大门。
付费方式很是简单:
用微信扫描下面的二维码。在付款留言中留下你的qq号或email地址就能够啦。
教育不是要便宜,而是要可靠!真正聪明的人,更懂得花钱让专业的人为本身服务,提升本身的效率。
老师qq:2040227296
老师email:2040227296@qq.com