• 继承 和多态。。。。。


    继承

    继承优点:减少代码冗余,实现代码复用

    继承的一些概念

    1)在C#中,如果一个类后面通过冒号又跟了另一个类,那么我们就称冒号前边的类为子类,

    冒号后边的类为父类。这种书写类的方式反映出来的关系就称为类的继承关系。

    2)子类:派生类

         父类:基类或者超类

    满足is a 关系的两个类可以使用继承

    例如:

    学生 is a person

    base

    base:父类的对象

    base():看成是调用父类的构造beast()

    base(参数列表)父类带参构造的参数列表一致,只能出现在子类构造后边、

    new子类到底发生了什么,?

    new子类过程

    1)从Main---->子类带参构造,但是不进子类构造

    2)发现子类构造后base().调用对应的父类构造。

    并且将父类构造方法执行完(进入父类构造的{},执行其中代码)

    3)父类构造执行完毕,回到子类构造的{}执行代码

    4)子类构造执行完毕,回到Main函数,进而将子类对象创建出来

    到该步骤已经成功向内存索要了空间。子类对象已然存在了

    图解

    没有base编辑器底层会自动调用父类的无参构造


    访问修饰符
    public:任何位置,包括跨程序集
    intemal:在当前程序集(项目)中都可以访问
    private:只能在当前类中访问(当前类的花括号中访问)
    protected:只能在当前类和其子类中使用
    类的访问修饰符
    public
    intemal(内部的)
    字段的访问修饰符
    public
    private
    方法的访问修饰符
    public
    private

    继承的特性

    单根性:一个类只能有一个直接的父类

    传递性:如果一个类B继承子类A,而类C又继承类B,那么类C也可以

    访问到类A中非私有你成员

    多态

    不同的对象,对于同一个操作,做出的响应不同

    实现多态三种方法

    1)在父类中通过virtual关键字定义一个虚方法

    2)在子类中通过override关键字对父类中的虚方法进行重写

    3)调用的时候,调用的是子类方法

  • 相关阅读:
    前台ajax传数组,后台java接收
    CSS揭秘—打字动效(四)
    通过四个问题了解HTTP协议基础
    Fiddler抓包工具怎么设置HTTPS抓包
    固定定位导致$(window).scrollTop();获取滚动后到顶部距离总是为0
    git bash 使用自带 curl 命令出现乱码解决方法
    移动端布局方案—vw+rem
    Windows安装Nginx需要注意的地方
    orientation属性(判断是否为横竖屏)
    js之瀑布流的实现
  • 原文地址:https://www.cnblogs.com/xiaosedefeng/p/5376674.html
Copyright © 2020-2023  润新知