【黑马程序员】- 面向对象_多态_虚方法
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培训、期待与您交流!
-----
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培训、期待与您交流!
-----
相关文章推荐
- 黑马程序员_五 【初识面向对象】【类、构造方法、对象】【封装、继承、多态】【this、super】
- 黑马程序员_Java基础_面向对象(多态、Object类相关方法)
- 黑马程序员—Java面向对象(抽象类、模板方法设计模式、接口、多态、内部类)
- 黑马程序员 Java基础 面向对象:继承、final关键字、抽象类、模版方法模式、接口、多态、Object类
- 黑马程序员——OC语言基础:面向对象三大特性,封装、继承、多态
- 方法,面向对象,构造方法,继承,多态,抽象类,接口
- 黑马程序员----Java基础之面向对象(封装 继承 多态)(二)
- 黑马程序员面向对象-----多态
- 黑马程序员------面向对象之封装 继承 多态
- 黑马程序员-OC之面向对象的三大特性:封装、继承和多态
- 黑马程序员---OC面向对象三大特性(封装、继承、多态)
- JAVA——(2)OOP面向对象、封装、继承、多态、this、构造方法
- 黑马程序员-15-java基础-面向对象(1)-概念介绍与类、对象、构造方法
- 黑马程序员——OC笔记之面向对象三大特征(封装、继承、多态)
- 黑马程序员_JAVA之面向对象(封装,继承和多态)
- 黑马程序员————面向对象(继承,抽象类,接口,多态,异常)
- 黑马程序员——OC 基础:实例变量修饰符,description方法和多态
- 黑马程序员_Java语言_面向对象_多态
- Python_day8_面向对象(多态、成员修饰符、类中特殊方法、对象边缘知识)、异常处理之篇
- 黑马程序员——面向对象9:对象的初始化&方法的调用