欢迎来到天天文库
浏览记录
ID:38831604
大小:530.50 KB
页数:71页
时间:2019-06-20
《C#第4章面向对象编程基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章面向对象的编程基础4.1类4.2结构4.3方法4.4属性与索引器C#是一种强大的、面向对象的程序开发语言,本章将带领读者进入C#面向对象的世界,学习一些基本概念,包括对象、类等,以及如何创建和使用类的对象。为什么要学习对象和类?举个简单的例子:汽车厂造车需要设计图和样板,然后造出汽车。编程也是一样的,类好比是制造汽车的设计图和样板,对象好比是汽车,这都是汽车厂不可或缺的东西。第4章面向对象的编程基础在现实世界中,对象就是拥有了这些特性和动作才会在这个世界上变得与众不同。因此,构成对象的两个最重要的因素就是特征和动作。每一个现实世界中的实体都具有不同的
2、特征和动作。在编程领域,编程开发人员需要尽可能地用对象来模拟现实世界的实体,因此,在程序里,对象具有状态和行为。对象的状态就是现实世界中对应实体的属性特征,对象的行为就是现实世界中对应实体能够执行的动作。在C#中,对象的状态被分别存储在一些变量里,而对象的行为,则通过定义方法来实施。方法的作用就是要完成一项特殊的工作。第4章面向对象的编程基础知识点对象:明白对象的属性和方法,学会使用对象。类:辨别对象和类,明白类的属性和方法,了解类的成员。属性:学会在类中添加属性,保护数据安全,以及封装字段。结构:如何创建结构,结构和类有什么区别?索引器:会使用索引器4.
3、1类类与对象类:一组具有相同数据结构和相同操作的对象的集合。例如:汽车对象(实例):类的实例化。例如:卡车注意:要使用对象,必须先定义类,然后再创建对象。对象的生存周期对象在建立时分配了内存,创建对象实际上作了两个方面的工作:(1)使用new保留字要求系统分配内存;(2)使用构造函数初始化数据。销毁对象也是做了两个方面的工作:(1)释放占用的内存;(2)将分配给对象的内存归还给堆(Heap)。4.1类的组织1.类的声明用class定义类,声明类的形式为:[附加声明][访问修饰符]class类名称[:[基类][,接口序列]]{[字段声明][构造函数][方
4、法][事件]}注意:[]中的内容可省或任选其一,当两者都有时,先基类后接口4.1类的组织(续)publicclassChild{privateintage;privatestringname;//不带参数的构造函数publicChild(){name="none";}//带参数的构造函数publicChild(stringname,intage){如果不指明,则默认为internal4.1类的组织(续)this.name=name;this.age=age;}//输出方法publicvoidPrintChild(){Console.WriteLine("{
5、0},{1}yearsold.",name,age);}}publicclassProgram{4.1类的组织(续)publicstaticvoidMain(){//使用new关键字创建对象,new后是调用的构造函数Childchild1=newChild("ZhangSan",11);Childchild2=newChild("LiSi",10);Childchild3=newChild();//显示结果Console.Write("Child#1:");child1.PrintChild();Console.Write("Child#2:");chil
6、d2.PrintChild();Console.Write("Child#3:");child3.PrintChild();4.1类的组织(续)Console.ReadLine();}}}输出结果:Child#1:ZhangSan,11yearsold.Child#2:LiSi,10yearsold.Child#3:none,0yearsold.c#中this的用法1、表示对象的当前实例。如果实例成员具有与形参相同的名称,则可以这样使用以示区别。2、将当前对象作为形参传递到其他方法中classEmployee{privatestringname;priva
7、testringalias;privatedecimalsalary=3000.00m;//Constructor:publicEmployee(stringname,stringalias){//Usethistoqualifythefields,nameandalias:this.name=name;this.alias=alias;}//Printingmethod:publicvoidprintEmployee(){Console.WriteLine("Name:{0}Alias:{1}",name,alias);//Passingtheobj
8、ecttotheCalcTaxmethodbyusingthis:
此文档下载收益归作者所有