第3章C面向对象程序设计.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第3章C面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《第3章C面向对象程序设计.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Visual C#.NET程序设计基础教程 第3章,第三章 C#面向对象程序设计,Visual C#.NET程序设计基础教程 第3章,内容提要,3.1面向对象编程简介 3.2 定义类 3.3 定义类成员 3.4类的更多内容,Visual C#.NET程序设计基础教程 第3章,什么是面向对象编程,面向对象编程代表了一种全新的程序设计思路 对象:变量和相关的方法的集合。其中变量表明对象的属性,方法表明对象所具有的行为。 类:通常将属性及行为相同或相似对象归为一类。类可以看成是对象的抽象,代表了此类对象所具有的共同属性和行为 属性和字段:通过属性和字段可以访问对象中包含的数据。 方法:对象的所有行为
2、都可以用方法来描述 静态成员:可以在类的实例之间共享,可以看作是类的全局对象,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,对象的生命周期,每个对象都一个明确定义的生命周期,即从使用类定义开始一直到删除它为止。在对象的 生命周期中,除了“正在使用”的正常状态之外,还有两个重要的阶段: 构造阶段对象最初进行实例化的时期。这个初始化过程称为构造阶段,由构造函数完成。 析构阶段在删除一个对象时,常常需要执行一些清理工作,例如释放内存,由析构
3、函数完成。,Visual C#.NET程序设计基础教程 第3章,3.1.2 OOP技术,抽象与接口 继承 多态性 重载 消息和事件,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,
4、Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,Visual C#.NET程序设计基础教程 第3章,3.2 定义类,C#使用class关键字来定义类。其基本结构如下: Class MyClass / class members 还可以在类定义中指定继承。C#支持类的单一继承,即只能有一个基类,语法如下: class MyClass : MyBaseClass / class members ,Visual C#.NET程序设计基础教程
5、第3章,接口的定义,接口声明的方式与声明类的方式相似: interface ImyInterface / interface members 接口的继承也可以用与类继承的类似方式来指定。主要的区别是可以使用多个基接口: public interface IMyInterface : IMyBaseInterface, ImyBaseInterface2 / interface members ,Visual C#.NET程序设计基础教程 第3章,3.2.2 Object类,所有的.NET类都派生于System.Object。 如果在定义类时没有指定基类,编译器就会自动假定这个类派生于objec
6、t。 其重要性在于,自己定义的所有类除了自己定义的方法和属性外,还可以访问为Object定义的许多公共或受保护的成员方法。,Visual C#.NET程序设计基础教程 第3章,3.2.3 构造函数和析构函数,构造函数 使用下述语法把简单的构造函数添加到一个类中: class MyClass public MyClass() / Constructor code / rest of class definition 这个构造函数与包含它的类同名,且没有参数,这是一个公共函数,所以用来实例化类的对象。,Visual C#.NET程序设计基础教程 第3章,构造函数的执行序列,为了实例化派生的类,必须
7、实例化它的基类。而要实例化这个基类,又必须实例化这个基类的基类,这样一直到实例化System.Object为止。 如果对一个类使用非默认的构造函数,默认的情况是在其基类上使用匹配十这个构造函数签名的构造函数。如果没有找到这样的构造函数,就使用基类的默认构造函数。,Visual C#.NET程序设计基础教程 第3章,析构函数,class MyClass MyClass() /destructor code 类的析构函数是用类名和前缀来声明的。当进行无用存储单元收集时,就执行析构函数中的代码,释放资源。在调用这个析构函数后,还将隐式地调用基类的析构函数,包括System. Object根类中的Fi
8、nalize()调用。,Visual C#.NET程序设计基础教程 第3章,3.2.4 接口和抽象类,类似之处: 抽象类和接口都包含可以由派生类继承的成员。 接口和抽象类都不能直接实例化,但可以声明它们的变量。 区别: 派生类只能继承一个基类,即只能直接继承一个抽象类(但可以用一个继承链包含多个抽象类);类可以使用任意多个接口 抽象类可以拥有抽象成员和非抽象成员;接口成员必须都在使用接口的类上执行它们没有代码体 接口成员被定义为公共的;抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员,Visual C#.NET程序设计基础教程 第3章,3.2.5 类和结构,结构与类的区别在于:
9、结构是值类型,不是引用类型。它们存储在堆栈中或存储为内联,其生存期的限制与简单的数据类型一样。 结构不支持继承。 结构的构造函数的工作方式有一些区别。尤其是编译器总是提供一个无参数的默认构造函数,这是不允许替换的。 使用结构,可以指定字段如何在内存中布局,Visual C#.NET程序设计基础教程 第3章,3.3 定义类成员,成员定义 所有成员都有自己的访问级别,用下面的关键字之来定义: public成员可以由任何代码访问。 private成员只能由类中的代码访问 internal成员只能由定义它的工程内部的代码访问。 proteded成员只能由类或派生类中的代码访问。,Visual C#.N
10、ET程序设计基础教程 第3章,定义字段,字段用标准的变量声明格式和前面介绍的修饰符来声明 字段也可以使用关键字readonly,表示这个字段只能在执行构造函数的过程中赋值,或由初始化赋值语句赋值。 字段可以使用static关键字声明为静态 可以使用关键字const来创建一个常量,Visual C#.NET程序设计基础教程 第3章,定义方法,方法使用标准函数格式,以及可访问性和可选的static修饰符来声明 可以在方法定义中使用下述关键字: virtual方法可以重写。 abstract方法必须重写(只用于抽象类中)。 override方法重写了一个基类方法(如果方法被重写,就必须使用该关键字)
11、。 extern方法定义放在其他地方。,Visual C#.NET程序设计基础教程 第3章,定义属性,属性定义的方式与字段定义的方式类似,但包含的内容比较多。属性拥有两个类似函数的块,一个块用于获取属性的值,另一个块用于设置属性的值。 这两个块分别用get和set关键字来定义,可以用于控制对属性的访问级别。可以忽略其中的一个块来创建只读或只写属性 属性的基本结构: public string SomeProperty get return This is the property value; set / do whatever needs to be done to set the prop
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内