zoukankan      html  css  js  c++  java
  • C#继承与多态

    继承:在程序中,如果一个类A:B,这种机制就是继承。

         子类可以继承父类的所有内容(成员)吗?

     解析:

        1.私有成员(属性和方法)

        2.构造函数

    3.final修饰过的方法,子类不能进行重写

      //SE为PM的子类

    //SE继承PM

    class SE:PM
        {
            public int n;
            public SE(int i,int n,int m){
        
                
        
        }
        }
    

      

    class PM
        {
            public int money { get; set; }
            public int gaga { get; set; }
            public PM(int money, int gaga) {
    
                this.money = money;
                this.gaga = gaga;
            }
            public PM() { }
        }
    

      

      

      

      3.访问修饰符

        public    公有的

    private   私有的

    protected 受保护的

       java中,如果大家使用protected访问修饰符,来修饰一个变量,那么在当前包中的所有类中都可以访问。外加上不同包

       类中有继承关系的类也可以访问。

       

       

      4.揭秘子类构造

       1.Main函数

       2.子类构造,不进入子类构造体

       3.执行到父类构造,不进入父类构造体

       4.执行父类构造体   创建父类对象

       5.回到子类构造体执行

       6.子类构造体执行完毕 构造子类对象

       7.回到Main,继续后续代码执行

       

       

      5.base(父类构造)

      base第一个用法:使用属性  base.属性名

      base第二个用法;使用方法   base.方法名称相同

      base第三个用法:调用父类构造 base()

      //base.属性名

      class SE:PM
        {
            public int n;
            public SE(int i,int n,int m){
    
                base.gaga = i;
        
        }
        }
    

      //base.方法名

      

     base.show();
    

      //调用父类构造

     public SE(int i,int n,int m):base(){
    
                base.gaga = i;
                base.show();
        
        }
    

      

      6.继承的传递性和单根性

      C#中不支持多继承

      Java中不支持多继承  使用接口可以变相的支持多继承

      多实现//////////////////变相的多继承    接口

      

      机器语言

      汇编语言  底层+++驱动级

      面向过程  驱动级++驱动光盘 dll

      C#Java 面向对象  不支持多继承

      

      7.多态初步

        多态:多种形态

           不同的对象 对于 同一个操作   做出的响应不同 。多态。

       

       举例子:

       1. USB父类   USB鼠标/USB键盘/USB照明

       2. 鸭子    真实鸭子 /橡皮鸭子  木头鸭子(不会叫)

       3. CUT    医生/理发师/演员

       4. 打招呼  英文/含于/韩国人

       5. 交通工具  汽车/地铁/自行车

       

       

            父类有一个Cut方法,子类中有同名方法Cut

    如何满足多态的条件

    父类:Person

    子类A:Hairdresser  理发师

    子类B:Doctor:医生

            子类C:Actor :演员

      

      

      

           实现多态条件

       1.父类有一个用virtual关键字修饰的方法

       

       2.子类必须有一个同名方法,使用Override关键字

       

       3.N个子类对象放入父类类型集合。。

      

       4.依次迭代

       

  • 相关阅读:
    桌面应用程序ClickOne打包部署
    Linux系统基础5周入门精讲(Linux发展过程)
    Linux系统基础5周入门精讲(服务器介绍)
    算法进阶--动态规划
    行为型模式
    结构型模式
    设计模式
    哈希表--树
    数据结构
    查找排序相关面试题
  • 原文地址:https://www.cnblogs.com/sunbin123/p/6567198.html
Copyright © 2011-2022 走看看