第5章 面向对象程序设计基础ppt课件.ppt

第5章 面向对象程序设计基础ppt课件.ppt

ID:58699873

大小:454.00 KB

页数:43页

时间:2020-10-04

第5章 面向对象程序设计基础ppt课件.ppt_第1页
第5章 面向对象程序设计基础ppt课件.ppt_第2页
第5章 面向对象程序设计基础ppt课件.ppt_第3页
第5章 面向对象程序设计基础ppt课件.ppt_第4页
第5章 面向对象程序设计基础ppt课件.ppt_第5页
资源描述:

《第5章 面向对象程序设计基础ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章面向对象程序设计基础5.3构造函数和析构函数在实际应用中,方法的定义和调用是很复杂的。在此,将从两个特殊的方法(构造函数和析构函数)入手,对其进行进一步的讨论。在C#中,构造函数是当类实例化时首先执行的函数。反之,析构函数是当实例(也就是对象)从内存中销毁前最后执行的函数。这两个函数的执行是无条件的,并且不需要程序手工干预。也就是说,只要定义一个对象或销毁一个对象,不用显式地调用构造函数或析构函数,系统都会自动在创建对象时调用构造函数,而在销毁对象时调用析构函数。2021/9/2125.3.1构造函数有时,我们希望创建一个对象时要为其初始化某些特征,这时就需要用

2、到构造函数。在C#中,构造函数是特殊的成员函数。构造函数的特殊性表现在如下几个方面:(1)构造函数的函数名和类的名称一样。(2)构造函数可以带参数,但没有返回值(也不用void声明)。(3)构造函数在对象定义时被自动调用。2021/9/2135.3.1构造函数(4)如果没有给类定义构造函数,则编译系统会自动生成一个默认的构造函数。(5)构造函数可以被重载,但不可以被继承。(6)构造函数的类型修饰符总是public。如果是private,则表示这个类不能被实例化,这通常用于只含有静态成员的类中。2021/9/2145.3.1构造函数【例5-5】通过构造函数,实现在产生一

3、个学生对象时为其完成起名工作。usingSystem;namespaceExample_Construct{publicclassStudent{publicstringstrName;//数据成员(学生姓名)publicStudent(string_strName)//特殊方法成员(构造函数){this.strName=_strName;}}2021/9/2155.3.1构造函数classClass1{staticvoidMain(string[]args){Students=newStudent("张三");Console.WriteLine(s.strName)

4、;}}}2021/9/2165.3.1构造函数注意:在Student类中,定义了方法Student(),注意这个方法与Student类同名。这样,每当实例化一个Student对象时,总会执行这个函数。在构造函数中可以没有参数,也可以有一个或多个参数。这表明构造函数在类的声明中可以有函数名相同,但参数个数不同或者参数不同的多种形式,这就是构造函数重载。用new关键字创建一个类的对象时,类名后的一对圆括号提供初始化列表,这实际上就是提供给构造函数的参数。系统根据这个初始化列表的参数个数、参数类型和参数顺序调用不同的构造函数。2021/9/2175.3.1构造函数【例5-6

5、】实现Time类的构造函数及其重载。usingSystem;namespaceExample_ConstructOverload{classTime{publicintnHour,nMinute,nSecond;publicTime(){nHour=nMinute=nSecond=0;}2021/9/2185.3.1构造函数publicTime(intHour){nHour=Hour;nMinute=nSecond=0;}publicTime(intHour,intMinute){nHour=Hour;nMinute=Minute;nSecond=0;}2021/9/

6、2195.3.1构造函数publicTime(intHour,intMinute,intSecond){nHour=Hour;nMinute=Minute;nSecond=Second;}}classTest{staticvoidMain(){Timet1,t2,t3,t4;2021/9/21105.3.1构造函数//对t1,t2,t3,t4分别调用不同的构造函数t1=newTime();t2=newTime(10);t3=newTime(10,30);t4=newTime(10,30,30);Console.WriteLine("t1的时间为:{0}时{1}分钟{2

7、}秒",t1.nHour,t1.nMinute,t1.nSecond);Console.WriteLine("t2的时间为:{0}时{1}分钟{2}秒",t2.nHour,t2.nMinute,t2.nSecond);Console.WriteLine("t3的时间为:{0}时{1}分钟{2}秒",t3.nHour,t3.nMinute,t3.nSecond);Console.WriteLine("t4的时间为:{0}时{1}分钟{2}秒",t4.nHour,t4.nMinute,t4.nSecond);}}}2021/9/21115.3.1构造函数

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

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

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