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

  • 相关阅读:
    Flask 【第三篇】使用DBUtils实现数据库连接池和蓝图
    Flask 【第二篇】Flask基础
    Flask 【第一篇】Flask简介
    Django 【第二十五篇】Django admin源码解析
    Django 【第二十四篇】Django admin简单使用
    Django 【第二十三篇】优化查询
    Django 【第二十二篇】ModelForm
    Django 【第二十一篇】中介模型以及优化查询以及CBV模式
    Django 【第二十篇】后端CORS解决跨域问题
    查询续与ajax
  • 原文地址:https://www.cnblogs.com/xiaosedefeng/p/5376674.html
Copyright © 2011-2022 走看看