您的位置:首页 > 职场人生

【黑马程序员】- 面向对象_多态_虚方法

2013-02-21 00:39 204 查看
----- Windows
Phone 7手机开发、Net培训、期待与您交流!
-----

一、多态的基本概念

1、通过继承,一个类可以用作多种类型:可以用作自己的类型、任何基类型,或者实现接口时用作任何接口类型。这称为多态性。
2、编译时的多态性:
编译时的多态性是通过重载来实现的。对于非虚的成员来说,系统在编译时,根据传递的参数、返回的类型等信息决定实现任何种操作。
3、运行时的多态性:
运行时的多态性就是指系统运行时,才根据操作实际情况决定任何种操作。C#中,运行时的多态性通过虚成员实现。

二、实现多态

可以用不同的方式实现组件中的多态性:

1、虚方法

2、接口

3、继承

4、抽象类

三、虚方法

1、虚方法的定义-virtual

2、虚方法可以给父类中的方法一个实现

3、虚方法必须有实现部分,哪怕是空实现。

举例:

1、在基类中通过virtual关键字来定义一个虚方法,在子类中通过override关键字来重写基类中的方法。



2、字段不能是虚拟的,只有方法、属性、事件和索引器才可以是虚拟的。当派生类重写某个虚拟成员时,即使该派生类的实例被当作基类的实例访问,也会调用该成员。

3、类的继承传递性的特性,如果类A声明了一个虚方法成员,类B继承了类A,类C又继承了类B,类C依然可以重写这个虚方法成员。



4、如果想停止子类继续重写父类中的虚方法,可以使用 sealed 关键字进行密封,停止继承。



----- Windows
Phone 7手机开发、Net培训、期待与您交流!
-----
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐