VB.net 2010 视频教程 VB.net 2010 视频教程 VB.net 2010 视频教程
当前位置:
首页 > 编程开发 > c#教程 >
  • C#教程之深入理解多态

  • 2019-01-12 22:15 来源:未知

深入理解多态

 

  里氏替换原则

父类对象是不能替换子类对象的.这种 特性被称作 "  里氏替换原则"    

  里氏替换原则的应用

  里氏替换原则是软件设计应该遵守的重要原则之一.有了  里氏替换原则,才使继承复用成为可能.只有当子类可以替换父类时,软件的功能不受影响,父类才能真正被复用,而子类也能够在父类的

基础上增加新的行为

public class Brid{

public double Speed{get;set}
    

public void Fly(){
}
}

public class Ostrich:Brid{

}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               is和as操作符的使用

is操作符用于检查对象和指定的类型是否兼容

if(empls[i] is SE){


}                      

as操作符主要用于二个对象之间的类型转换

父类类型作为参数

里氏替换原则指出子类对象可以代替父类对象.那么在开发程序时可以编写以父类类型作为形式参数的方法,在实际调用时传入子类对象,从而实现多态.

子类重写父类的虚方法,其中有二种方式

创建父类对象,用子类对象实例化这个父类对象

把父类类型作为行参类型,他的子类对象作为实参传入

运行时,根据实际创建对象的类型决定执行哪个方法

抽象类和抽象方法

为什么使用抽象类和抽象方法

抽象方法是一个没有实现的方法,通过在定义方法时增加关键字abstract可以声明抽象方法

语法

访问修饰符  abstract  返回类型  方法名();

含有抽象方法的类必然是抽象类,同样我们用abstract关键字来定义一个抽象类

语法

访问修饰符  abstract  class 方法名();

抽象类提供抽象方法,这些方法只有定义,如何实现都由城乡类的非抽象子类完成,那么就可以将TrafficTool类改为抽象类

抽象类和抽象方法的应用

如何实现抽象方法

当从一个抽象父类的一个子类时,子类将继承父类的所有特征.包括他未实现的抽象方法

抽象方法必须在其子类中实现,除非他的子类也是抽象类,与子类重写父类的虚方法一样,在子类中也是使用override关键字来重写抽象方法的

语法

访问修饰符 override  返回类型 方法名()

抽象方法的应用场合

抽象类,抽象方法和虚方法都可以实现多态

      虚方法和抽象方法的区别

虚方法                                        抽象方法

用virtual修饰                               用abstract修饰

要有方法体,即使是一个符号              不允许有方法体

可以被子类override                        必须被子类override

除了密封类都可以定义                      只能在抽象类中定义

面向对象的三大特性

封装:保证对象自身数据的完整性和安全性

继承:建立类之间的关系,实现代码的复用,方便系统的扩展

多态:相同的方法调用可实现不同的实现方法

 

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              


相关教程