面向对象编程之多态的使用

我们先来看一张图:

 

 1:虚方法关键字 virtual :

    关键点:1>  子类继承父类可以重写父类中的方法,也可以不能重写。

      2>   父类可以被实例化 

      3>   里氏替换原则 :

             ①子类 可以 赋值给 父类 如: CatType cattype = new Cat();

                ②子类可以调用父类的成员。父类只能调用自己的成员

                ③父类中装的是子类的对象即:CatType cattype = new Cat(); 可以把父类强转为子类 Cat NewCat = (Cat) cattype

2: 抽象方法关键字 abstract:

    关键点:1>  子类继承父类必须重写父类中的方法。 重写: overrite

       2>   父类是不可以被实例化  原因:

        抽象方法中是不能有方法体的 即 public abstract void Hello();  那么,我们假设抽象类可以被实例化,调用这些无方法体的方法 是没有意义的 所以 不能被实例化

       3>   使用场景:

         1>当我不知道方法里面的对象时候可以抽象他。
         2>如果父类的方法有默认实现,则可考虑用虚方法实现多态
            3>如果父类不需要被实例化,也没有默认实现,则考虑将类定义为抽象类

3: 接口 关键字 Interface  默认写法  IXXXX;

  关键点:1>  接口中的方法都是抽象方法。不需要访问修饰符。默认public

        2>  语法格式

          接口不能定义属性
          接口中的方法不能有方法体,也不能有访问修饰符
          接口不能被实例化
        * 注意事项
          一个类可以有多个接口
          接口类可以继承多个接口

文章是为了巩固一下学习的知识点,感谢擅码网Monkey老师教程。教程地址:百度一下 不贴出来了。

 

posted @ 2017-07-13 10:42  小林博客  阅读(417)  评论(1)    收藏  举报