深入理解多态

        里氏替换和多态应用

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

        

        2.is   和  as 操作符的使用

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

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

 

     父类类型作为参数

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

 

     用虚方法实现多态的基本步骤如下.

     (1.)子类重写父类的虚方法,其中有两种方式

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

    把父类类型作为形参类型,它的子类对象作为实参传入.

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

   

     

抽象类和抽象方法

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

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

       

        注意,抽象方法没有闭合的大括号,而是直接跟了一个分号";",也就是说,它没有包括方法执行逻辑的方法体.

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

        访问修饰符    abstract   class类名{}

 

        抽象类和抽象方法的应用

        如何实现抽象方法

        当从一个抽象父类派生一个子类时,子类将继承父类的所有特征,包括它未实现的抽象方法,抽象方法必须在其子类中实现,除非它的子类也是抽象类.与子类重写父类的虚方法

一样,在子类中也是使用override关键字来重写抽象方法的.

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

 

      面向对象的三大特征

      到此为止,面向对象编程中三个非常重要的特征——封装、继承、多态,我们已经全部学了,总结如下:

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

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

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

 

      里氏替换原则:子类对象可以替换父类对象;反过来,父类对象不能代替子类对象

      抽象方法时一个未实现的方法,他用abstract关键字修饰,含有抽象方法的类必然是抽象类.

      使用抽象方法和虚方法都可以实现多态性.

      抽象类不能被实例化,不能使密封的或静态的.

      抽象类的抽象方法要在其子类中通过override关键字重写,除非它的子类也是抽象类.

      面向对象的三大特性是封装、继承、和多态。

      is  操作符用于检查对象和指定的类型是否兼容. as 操作符主要用于对象之间的类型转换.

 

posted @ 2017-04-10 11:21  樱小路露娜  阅读(142)  评论(0)    收藏  举报