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.依次迭代
C#继承与多态的更多相关文章
- Objective-C中的继承和多态
面向对象编程之所以成为主流的编程思想和他的继承和多态是分不开的,只要是面向对象语言都支持继承和多态,当然不同的OOP语言之间都有其特点.OC中和Java类似,不支持多重继承,但OOP语言C++就支持多 ...
- java中抽象、分装、继承和多态的理解
1.抽象.封装装.继承和多态是java面向对象编程的几大特点. 抽象:所谓抽象就是对某件事务,我们忽略我们不关心不需要的部分,提取我们想要的属性和行为,并且以代码的形式提现出来:例如我们需要对一个学生 ...
- [转] JS中简单的继承与多态
这里讲了一个最最最简单的JS中基于原型链的继承和多态. 先看一下以下这段代码的实现(A是“父类”,B是“子类”): var A = function(){ this.value = 'a'; this ...
- 网络电视精灵~分析~~~~~~简单工厂模式,继承和多态,解析XML文档,视频项目
小总结: 所用技术: 01.C/S架构,数据存储在XML文件中 02.简单工厂模式 03.继承和多态 04.解析XML文档技术 05.深入剖析内存中数据的走向 06.TreeView控件的使用 核心: ...
- OC的封装、继承与多态
面向对象有三大特征:封装.继承和多态. 一.封装 封装是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问.简而言之,信息隐藏,隐 ...
- 2、C#面向对象:封装、继承、多态、String、集合、文件(上)
面向对象封装 一.面向对象概念 面向过程:面向的是完成一件事情的过程,强调的是完成这件事情的动作. 面向对象:找个对象帮你完成这件事情. 二.面向对象封装 把方法进行封装,隐藏实现细节,外部直接调用. ...
- Java学习笔记 07 接口、继承与多态
一.类的继承 继承的好处 >>使整个程序架构具有一定的弹性,在程序中复用一些已经定义完善的类不仅可以减少软件开发周期,也可以提高软件的可维护性和可扩展性 继承的基本思想 >>基 ...
- JavaScript 面向对象程序设计(下)——继承与多态 【转】
JavaScript 面向对象程序设计(下)--继承与多态 前面我们讨论了如何在 JavaScript 语言中实现对私有实例成员.公有实例成员.私有静态成员.公有静态成员和静态类的封装.这次我们来讨论 ...
- Java继承和多态实例
我们知道面向对象的三大特性是封装.继承和多态.然而我们有时候总是搞不清楚这些概念.下面对这些概念进行整理, 为以后面向抽象的编程打下坚实的基础. 封装的概念还是很容易理解的.如果你会定义类,那么相信你 ...
- python基础——继承和多态
python基础——继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类 ...
随机推荐
- dtrace 网站
Oracle SQL Tuning and CBO Internals: Based Optimizer with CBO Internals and SQL Tuning Optimization ...
- 浅析 JavaScript 中的闭包(-------------------------------------------)
一.前言 对于 JavaScript 来说,闭包是一个非常强大的特征.但对于刚开始接触的初学者来说它又似乎是特别高深的.今天我们一起来揭开闭包的神秘面纱.闭包这一块也有很多的文章介绍过了,今天我就浅谈 ...
- html中的列表标签
1.<dl>定义列表,<dt>定义列表中的项目,<dd>对项目的描述 例: 效果: 2.<ul>无序列表,<li>列表项 例: 效果: 3. ...
- 【spring mvc】后台的API,测试中,总提示接口实体的某一个字段不能为null,但是明明给值了还提示不能为空
实体是这三个字段 接口的实现类Controller 前台测试给值 依旧报错 解决方法: 需要添加@RequestBody注解
- open-falcon的邮件报警
mail-provider提供http邮件服务,和邮件服务器打通 falcon-sender 负责收集falcon的邮件,然后通过mail-provider发送出去 mail-provider 把sm ...
- 2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告
2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh ...
- C#中的 SET ,GET
C#中get和SET,看来看去还是看不懂,通俗一点解释一下,用了有什么好处,不用会怎么样如果你这样写是没有什么不一样的. private int __Old; public int Old{ get{ ...
- HDU 3435A new Graph Game(网络流之最小费用流)
题目地址:HDU 3435 这题刚上来一看,感觉毫无头绪. .再细致想想.. 发现跟我做的前两道费用流的题是差点儿相同的. 能够往那上面转换. 建图基本差点儿相同.仅仅只是这里是无向图.建图依旧是拆点 ...
- JobClient
/** * <code>JobClient</code> is the primary interface for the user-job to interact * wit ...
- unix改变shell显示颜色
编写shell脚本的时候.通过改变shell的显示颜色,不但可以改变使用shell终端的体验,并且更为有用的是,可以通过改变显示内容的颜色来区分正常输出.warning和error等不同关注级别的输出 ...