• 面对对象语言的三大特征


    面向对象语言的三大特性

     一、 封装

    类是对字段,属性,方法等数据成员的封装

    属性是对字段的封装

    项目是对类的封装

    二、 继承

    父类(基类)

    子类(扩展类)

    C#中子类可以继承到父类

    在子类的声明时,只需要在类名后加上”:”加上父类的类名,即代表此子类是从父类继承的类

    : class B:A   代表B类从A类继承 A类是父类,B类是子类.B类的成员具有A类的所有public的方法及属性

     Protected 访问符,使用此访问符在父类中声明的成员,只允许在子类中访问。

     继承中的构造方法 

    在实例化子类实例时会调用子类的构造方法,在调用子类构造方法前会先调用父类的构造方法。

    注意:在子类构造方法调用前会先调用父类的无参构造方法。

          如果在子类的构造方法中要调用父类的有参构造方法,只需要在子类构造方法声明时,在方法后面加上“:”base(父类构造方法调用时的实参)

    三、 多态

    在继承链中可以使用父类的指针指向子类的实例

     子类中和父类中的方法同名同参称作方法的重写

    在父类声明时,将方法前面加上virtual关键字,代表此方法为虚方法

     在子类中,可以使用new来隐藏父类中使用virtual声明的同名方法

    方法被隐藏后,在使用父类指针指向子类实例时,隐藏的方法会被调用.

    在子类中,可以使用override来覆盖父类中使用virtual声明的同名方法

    方法被子类覆盖后,即使使用父类指针指向子类实例,仍然是子类的实现。

  • 相关阅读:
    HTTPD之五---HTTP协议、相关工具及状态码
    HTTPD之四----实现HTTPD正向代理与反向代理
    第十三周---DNS原理、实现智能DNS及源码编译mariadb数据库
    DNS之五----实现智能DNS
    sqoop 导入增量数据到hive
    Hadoop 二次排序
    Spark foreachpartiton和mappartition的异同
    hadoop 实现多文件输出
    spark 实现多文件输出
    Scala 中 call by name & call by value 的区别
  • 原文地址:https://www.cnblogs.com/luoquan/p/5066981.html
Copyright © 2020-2023  润新知