zoukankan      html  css  js  c++  java
  • C#面向对象15 多态

    多态

    概念:让一个对象能够表现出多种的状态(类型)

    实现多态的3种手段:1.虚方法 2.抽象类 3.接口

    1.虚方法

    步骤:1.将父类的方法标记为虚方法,使用关键字 virtual,这个函数可以被子类重新写一遍

             2.override 子类重新的方法标记关键字

    2.抽象类

    当父类中的方法不知道如何去实现的时候,可以考虑将父类写成抽象类,将方法写成抽象方法

    abstract 关键字 

    抽象方法是没有方法体的!

    子类用override重写方法

    抽象类是不允许创建对象的

    抽象类特点:
    * 1.抽象成员必须标记为abstract,并且不能有任何实现.
    * 2.抽象成员必须在抽象类中.
    * 3.抽象类不能被实例化.
    * 4.子类继承抽象类后,必须把父类中的所有抽象成员都重写.(除非子类也是一个抽象类,则可以不重写)
    * 5.抽象成员的访问修饰符不能是private
    * 6.在抽象类中可以包含实例成员.并且抽象类的实例成员可以不被子类实现
    * 7.抽象类是有构造函数的,虽然不能被实例化
    * 8.如果父类的抽象方法中有参数,那么,继承这个抽象父类的子类在重写父类的方法的时候必须传入对应的参数.
    * 如果抽象父类的抽象方法中有返回值,那么子类在重写这个抽象方法的时候,也必须要传入返回值.

    ******虚方法和抽象类的区别

    *如果父类中的方法有默认的实现,并且父类需要被实例化,这时可以考虑将父类定义成一个普通类,用虚方法来实现多态.
    *如果父类中的方法没有默认实现,父类也不需要被实例化,则可以将该类定为为抽象类.

  • 相关阅读:
    Asp.net MVC3
    ASP.NET 路由实现页面静态化(附在线Demo和Source)
    ASP.NET MVC中Unobtrusive Ajax的妙用
    ASP.NET MVC Controller激活系统详解:IoC的应用[上篇]
    探讨大数据量处理
    提高ASP.NET性能与可伸缩性的几个个常用方法剖析
    Winform 应用
    C#利用QrCode.Net生成二维码
    MS SQL删除大数据
    由浅入深:自己动手开发模板引擎——置换型模板引擎1
  • 原文地址:https://www.cnblogs.com/youguess/p/8491083.html
Copyright © 2011-2022 走看看