首页 > Windows开发 > 详细

C#---------------继承和多态初步

时间:2017-03-17 17:34:29      阅读:205      评论:0      收藏:0      [点我收藏+]

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

子类可以继承父类的所有内容(成员)吗?
解析:
1.私有成员(属性和方法)
2.构造函数
3.final修饰过的方法,子类不能进行重写

 

3.访问修饰符
public 公有的
private 私有的
protected 受保护的

技术分享

在Java中public有最高的访问权限

            protected有在同一个包中的访问权限

            private 的访问权限最低只能在本类中使用

 

子类构造机制

//代码执行到黄色部分的代码代表将要执行的代码

1.Main函数

技术分享

 


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

技术分享

 


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

技术分享

 


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

技术分享

 


5.回到子类构造体执行

技术分享

 


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

技术分享

 


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

 技术分享

 

base的用法:

base第一个用法:使用属性 base.属性名
base第二个用法;使用方法 base.方法名称相同
base第三个用法:调用父类构造 base()

 

 

 

继承的传递性和单根性
C#中不支持多继承
Java中不支持多继承 使用接口可以变相的支持多继承 
多实现//////////////////变相的多继承 接口

机器语言
汇编语言 底层+++驱动级
面向过程 驱动级++驱动光盘 dll
C#和Java 面向对象 不支持多继承

 

 


 
 

多态初步
多态:多种形态
不同的对象 对于 同一个操作 做出的响应不同 

 

eg:

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.依次迭代

 

C#---------------继承和多态初步

原文:http://www.cnblogs.com/hfddz/p/6567450.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!