zoukankan      html  css  js  c++  java
  • 继承 和多态。。。。。

    继承

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

    继承的一些概念

    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)调用的时候,调用的是子类方法

  • 相关阅读:
    Linux命令应用大词典-第11章 Shell编程
    Kubernetes 学习12 kubernetes 存储卷
    linux dd命令
    Kubernetes 学习11 kubernetes ingress及ingress controller
    Kubernetes 学习10 Service资源
    Kubernetes 学习9 Pod控制器
    Kubernetes 学习8 Pod控制器
    Kubernetes 学习7 Pod控制器应用进阶2
    Kubernetes 学习6 Pod控制器应用进阶
    Kubernetes 学习5 kubernetes资源清单定义入门
  • 原文地址:https://www.cnblogs.com/xiaosedefeng/p/5376674.html
Copyright © 2011-2022 走看看