面向对象编程基础1

面向对象编程基础1

ID:39750611

大小:308.51 KB

页数:29页

时间:2019-07-10

面向对象编程基础1_第1页
面向对象编程基础1_第2页
面向对象编程基础1_第3页
面向对象编程基础1_第4页
面向对象编程基础1_第5页
资源描述:

《面向对象编程基础1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章面向对象的编程基础4.1类4.2结构4.3方法4.4属性与索引器2021/9/24.1类类与对象类:一组具有相同数据结构和相同操作(行为)的对象集合,类是封装数据的基本单位。例如:汽车对象(实例):类的实例化。例如上述汽车类的一个实例:卡车注意:要使用对象,必须先定义类,然后再创建对象。对象的生存周期对象在建立时分配了内存,创建对象实际上作了两个方面的工作:(1)使用new保留字要求系统分配内存;(2)使用构造函数初始化数据。销毁对象也是做了两个方面的工作:(1)释放占用的内存;(2)将分

2、配给对象的内存归还给堆(Heap)。2021/9/24.1类的组织1.类的声明用class定义类,声明类的形式为:[附加声明][访问修饰符]class类名称[:[基类][,接口序列]]{[字段声明][构造函数][方法][事件]}注意:[]中的内容可省略或任选其一,当两者都有时,先基类后接口。当一个类从另一个类继承时,被继承的类叫做基类。在C#中基类只能有一个。但是一个类可以继承多个接口,当接口序列多于一项时,各项之间用逗号分开。2021/9/24.1类的组织(续)publicclassChild{/

3、/字段privateintage;privatestringname;//不带参数的构造函数publicChild(){name="none";}//带参数的构造函数publicChild(stringname,intage){this.name=name;this.age=age;}//方法publicvoidPrintChild(){Console.WriteLine("{0},{1}yearsold.",name,age);}}如果不指明,则默认为private2021/9/24.1类的组织(

4、续)publicclassProgram{publicstaticvoidMain(){//使用new关键字创建对象,new后是调用的构造函数Childchild1=newChild("ZhangSan",11);Childchild2=newChild("LiSi",10);Childchild3=newChild();//显示结果Console.Write("Child#1:");child1.PrintChild();Console.Write("Child#2:");child2.Print

5、Child();Console.Write(“Child#3:”);child3.PrintChild();Console.ReadLine();}}输出结果:Child#1:ZhangSan,11yearsold.Child#2:LiSi,10yearsold.Child#3:none,0yearsold.2021/9/24.1.2构造函数作用:构造函数是一个特殊的方法,用于在建立对象时对字段进行初始化。好处:确保每一个对象在被使用之前都适当地进行了初始化的动作。构造函数特点:1)每个类至少有一个

6、构造函数。若程序代码中没有构造函数则系统会自动提供一个默认的构造函数。2)一个构造函数总是和它的类名相同。3)构造函数不包含任何返回值。4)一般使用public定义构造函数,便于在其他函数中创建该类的实例。一般在构造函数中作初始化工作,对于执行过程用时比较长的程序代码,最好不要放在构造函数中。2021/9/24.1.2构造函数(续)1、默认构造函数(1)如果在类中不定义构造函数,系统会提供一个默认的构造函数。(2)默认构造函数没有参数。(3)默认构造函数自动将非静态成员初始化为:数值型:如int、d

7、ouble等,初始化为0。bool类型:初始化为false.引用类型:初始化为null。(4)如果自己定义了类的构造函数,则所有初始化工作由编程者自己完成。2021/9/24.1.2构造函数(续)2.重载构造函数有时候可能会遇到这样的情况:在一个类中的多个方法中都要用到某一个数据成员,而该成员值必须从其他类中传递过来。这时,无参数的构造函数就不能胜任了,解决这个问题最好的办法就是:重载(Overloading)构造函数。2021/9/24.1.2构造函数(续)classProgram{publicP

8、rogram(){Console.WriteLine("null");}publicProgram(stringstr){Console.WriteLine(str);}staticvoidMain(){Programaa=newProgram();Programbb=newProgram("Howareyou!");Console.ReadLine();}}2021/9/24.1.3字段和局部变量字段:在类或结构中声明的任何类型的“类级别”的变量。局部变量:指在方法

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。