博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#继承与多态
阅读量:4652 次
发布时间:2019-06-09

本文共 1551 字,大约阅读时间需要 5 分钟。

继承:在程序中,如果一个类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.依次迭代

   

 

转载于:https://www.cnblogs.com/sunbin123/p/6567198.html

你可能感兴趣的文章
关于《Windows程序设计(第五版)》中一个实例程序的疑问
查看>>
Java面试用基础
查看>>
JAVA并发实战学习笔记——3,4章~
查看>>
元编程(metaprogramming)
查看>>
vscode 实时预览 markdown
查看>>
Spring入门导读——IoC和AOP
查看>>
css水平垂直居中
查看>>
iOS开发备忘录:属性列表文件数据持久化
查看>>
HDU——1205吃糖果(鸽巢原理)
查看>>
板邓:jQuery设置和获取HTML、文本和值(转)
查看>>
Google资深工程师深度讲解Go语言
查看>>
【BZOJ1911】[Apio2010]特别行动队 斜率优化DP
查看>>
嵌入式:UCOSIII的使用(17.01.24补充)
查看>>
利用RELK进行日志收集
查看>>
跳转页面的三种方式
查看>>
如何使用Python创建可视化对象
查看>>
linux下观看b站视频,解决字体乱码
查看>>
2016,加油,奋斗
查看>>
关于Cocos2d-x中坐标系的种类和转换
查看>>
吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-cloud...
查看>>