C#程序设计教程第5章

C#程序设计教程第5章

ID:45031571

大小:313.50 KB

页数:49页

时间:2019-11-08

C#程序设计教程第5章_第1页
C#程序设计教程第5章_第2页
C#程序设计教程第5章_第3页
C#程序设计教程第5章_第4页
C#程序设计教程第5章_第5页
资源描述:

《C#程序设计教程第5章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、2021/10/31C#程序设计经典教程第五章面向对象的高级程序设计1.总体要求掌握静态类与静态类成员的定义与使用。理解类的继承性与多态性,掌握其应用方法。理解抽象类、接口的概念,掌握抽象类与接口的定义及使用方法。理解嵌套类、分部类和命名空间的概念,掌握嵌套类、分部类和命名空间的使用方法。2.相关知识点熟悉C#的结构、类、数组的区别。熟悉类和类成员的定义与使用熟悉方法的定义与使用等基本操作。3.学习重点静态成员与静态类类的继承性与多态性抽象类与接口定义与使用。4.学习难点静态成员的作用,静态方法和实例

2、方法的区别多态的概念和实现,虚方法和抽象方法的区别接口的作用和使用,抽象方法和接口的区别第五章面向对象的高级程序设计第五章面向对象的高级程序设计主要内容5.1静态成员与静态类5.2类的继承性与多态性5.3抽象类与接口5.4嵌套类、分部类与命名空间5.1静态成员与静态类5.1.1静态成员5.1.2静态构造函数5.1.3静态类返回5.1.1静态成员静态成员通过static关键字来标识,可以是静态方法、字段、属性或事件。静态成员与非静态成员的不同在于:静态成员属于类,而不属于类的实例,因此需要通过类而不是通

3、过类的实例来访问;而非静态成员则总是与特定的实例(对象)相联系。在实际应用中,当类的成员所引用或操作的信息是关于类而不是类的实例时,就应该设置为静态成员。例如,想统计同类对象的数量,就可使用静态字段和静态方法来实现5.1.1静态成员【实例5-1】利用静态成员统计人数。5.1.2静态构造函数类的构造函数也可以是静态的,静态构造函数不是为了创建对象而设计的,而是用来初始化类,只有非静态的构造函数才用来创建对象(用于创建对象的构造函数称为实例构造函数)。由于静态构造函数并不对类的特定实例进行操作,所以也称为

4、全局或共享构造函数。在C#应用程序中,不能直接调用静态构造函数。静态构造函数在类的第一个实例创建之前或者调用类的任何静态方法之前执行,而且最多执行一次。因此,静态构造函数适合于对类的静态数据成员进行初始化。5.1.2静态构造函数静态构造函数可以与实例构造函数共存,其一般形式如下:static静态构造函数名(){//语句;}其中,静态构造函数名与类名相同,声明静态构造函数时不能带访问修饰符(如public),并且不能有任何参数列表和返回值。5.1.2静态构造函数我们可以在【实例5-1】的基础上增加一个静

5、态构造函数,结果就会不同5.1.3静态类静态类使用static关键字来声明,以指示它仅包含静态成员,不能使用new关键字创建静态类的实例。在实际应用中,当类中的成员不与特定对象关联的时候,就可以把它创建为静态类。静态类有下以特点:(1)静态类仅包含静态成员;(2)静态类不能被实例化;(3)静态类是密封的;(4)静态类不能包含实例构造函数5.1.3静态类由于静态类是密封的,因此不可被继承。静态类不能包含实例构造函数,但仍可声明静态构造函数,以分配初始值或设置某个静态状态。(关于密封和继承将在下节进行讨论

6、)。静态类的优点如下:(1)编译器能够自动执行检查,以确保不添加实例成员;(2)静态类能够使程序的实现更简单、迅速,因为不必创建对象就能调用其方法。5.2类的继承性与多态性5.2.1类的继承性5.2.2类的多态性返回5.2.1类的继承性当一个类从另一个类派生出来时,派生类就具有了基类中的所有成员,这样,基类中定义这些成员的代码,不需要在派生类定义中重写,在派生类定义中,只需定义派生类自己的成员即可。这样,既提高了代码的重用性,从而提高了程序设计的效率,又提供了已有程序设计的可扩展性。类的继承为面向对象

7、程序设计构建一个分层类结构体系创造了条件,而.NET框架类库就是一个庞大的分层类结构体系。其中Object类是一个最上层的基类,其他所有类都是直接或间接由Object类继承而来的。即使用户自定义的类没有指定继承关系,系统仍然将该类作为Object类的派生类。5.2.1类的继承性在C#中,类的继承遵循以下原则:(1)派生类只能从一个类中继承,即单继承。(2)派生类自然继承基类的成员,但不能继承基类的构造函数(3)类的继承可以传递,例如:假设类C继承于类B,类B又继承类A,那么C类即具有类B和类A的成员,

8、可以认为类A是类C的祖先类。5.2.1类的继承性1.派生类的声明在C#中,派生类可以拥有自己的成员,也可以隐式地从它的基类继承所有成员,包括方法、字段、属性和事件,但私有成员、构造函数和析构函数等除外。另外,派生类只能从一个类中继承,即单继承。C#中声明派生类的一般形式如下:[访问修饰符]class类名[:基类名]{类的成员;}5.2.1类的继承性2.构造函数的调用在C#中,派生类不能继承其基类的构造函数,但是,在创建对象时,会调用构造函数,为对象分配内

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

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

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