C#---------------继承和多态初步
继承:在程序中,如果一个类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#---------------继承和多态初步的更多相关文章
- C#继承与多态
继承:在程序中,如果一个类A:类B,这种机制就是继承. 子类可以继承父类的所有内容(成员)吗? 解析: 1.私有成员(属性和方法) 2.构造函数 3.final修饰过的方法,子类不能进行重写 //SE ...
- 初步理解Java的三大特性——封装、继承和多态
声明:整理自网络,如有雷同,请联系博主处理 一.封装 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被 ...
- C++内存中的封装、继承、多态(上)
C++内存中的封装.继承.多态(上) 继我的上一篇文章:浅谈学习C++时用到的[封装继承多态]三个概念 此篇我们从C++对象内存布局和构造过程来具体分析C++中的封装.继承.多态. 一.封装模型的内存 ...
- PHP的面向对象 — 封装、继承、多态
K在上一次的基础篇中给大家介绍了一下关于PHP中数组和字符串的使用方法等,这一次,K决定一次性大放送,给大家分享一下PHP中面向对象的三大特性:封装.继承.多态三个方面的知识. 一.封装 在PHP中, ...
- 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的封装、继承与多态
面向对象有三大特征:封装.继承和多态. 一.封装 封装是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问.简而言之,信息隐藏,隐 ...
随机推荐
- Spark集群搭建_Standalone
2017年3月1日, 星期三 Spark集群搭建_Standalone Driver: node1 Worker: node2 Worker: node3 1.下载安装 下载地址 ...
- 最强 IDE Visual Studio 2017 正式版发布
Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试.实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航.IntelliSense.重构.代码修复和调试等等 ...
- maven springmvc启动问题
1.环境 SpringMVC + Maven + mybatis 2.报错提示 严重: Error configuring application listener of class org.spri ...
- 2017-02-19C#基础 - 数据类型与类型转换
数据类型 基本数据类型 1)整形:byte short int long 整数类型 2)浮点型:fioat(.NET类型 Single 值后面要加f float = 10.5f;) doubl ...
- TypeScript设计模式之门面、适配器
看看用TypeScript怎样实现常见的设计模式,顺便复习一下. 学模式最重要的不是记UML,而是知道什么模式可以解决什么样的问题,在做项目时碰到问题可以想到用哪个模式可以解决,UML忘了可以查,思想 ...
- 1212: [HNOI2004]L语言
1212: [HNOI2004]L语言 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 643 Solved: 252[Submit][Status] ...
- 算法模板——平衡树Treap
实现功能如下——1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大 ...
- JNDI常见配置方式
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...
- spring boot gradle build:bootRepackage failed
When running 'gradle clean build' on my spring boot project (version 1.3.6.RELEASE) on windows 10 (a ...
- 解决使用JavaScriptConvert转换对象为Json时,中文和&符号被转码的问题
描述:比如 对象为var data=new {url="http://www.baidu.com?a=b&c=d"} 使用JavaScriptConvert序列化为JSON ...