zoukankan      html  css  js  c++  java
  • 深入理解多态 (1)

    复制代码
    1.
    1 public abstract class Birds{ 2 3 //什么样的方法是抽象方法 4 5 public abstract void Fly(); 6 7 8 }
    复制代码
    复制代码
         public class YZ:Birds{
      
          public override void Fly(){
      
           Console.WriteLine(".........");
        
      }
      
     } 
    复制代码

    2.来解释抽象方法是怎样的

    ①如果一个类中用abstract修饰,该类是抽象类

    ②抽象类中可以有非抽象类方法

    ③抽象方法不能有方法体,连{}都能有,以分号结束

    ④如果一个类继承抽象类,必需重写抽象类中的所有抽象方法

    ⑤抽象方法必须位于抽象类中

    ⑥抽象类不能是静态类或者是封装类

    ⑦抽象类不能实例化

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

     

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

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

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

     

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

     

    4.虚方法和抽象方法的区别

    _ ______________________________|___________________________

                       虚方法                              |                抽象方法

    _______________________________ |____________________________

                    用virtual修饰                       |           用abstract修饰

    _______________________________ |______________________________

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

    _______________________________ |______________________________

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

    _______________________________ | ________________________________

               除了密封类外都可以被定义            |          只有在抽象类中定义           

    _______________________________ |________________________________

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

     

    5.面向对象编程中三个非常重要的特性---------封装,继承,多态

       最后总结:

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

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

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

     

    6.里式替换原则:

    子类对象可以代替父类对象;反过来,父类对象不能代替子类对象

  • 相关阅读:
    操作系统-进程(1)进程与进程调度
    算法-图(6)广度优先遍历图
    网络摄像头RTSP流媒体协议视频平台EasyNVR如何进行延迟测试?
    【方案搭建】如何通过RTSP协议视频平台EasyNVR架设智慧城市实景终端展现方案?
    【解决方案】如何通过RTSP流媒体协议视频平台EasyNVR搭建智慧景区远程视频监管平台?
    7-12 排序 (25分)
    7-36 社交网络图中结点的“重要性”计算 (30分)-floyd最短路径
    7-35 城市间紧急救援 (25分)-dijkstra最短路径
    7-34 任务调度的合理性 (25分)--拓扑排序
    7-33 地下迷宫探索 (30分)--DFS
  • 原文地址:https://www.cnblogs.com/SFHa/p/8818038.html
Copyright © 2011-2022 走看看