.Net 中的继承知识点
.Net 中的面向对象 继承
继承思想的应用是为了解决封装遗留下来的代码冗余的问题。但这是简单的理解。
在一个系统开发中会有重复的成员,所以找到这些共有的成员,把它们装进一个类中,即父类。
语法 A:B
A类继承了B,B 是父类。
A类可访问B类中的非私有成员。
继承的特点
1,继承具有传递性
2,单根性,一个类只能拥有一个父类。
3,里氏替换原则,不可违反主观逻辑,即使代码没错。
深入理解继承带来的好处。
1,父类可以实例化子类对象。
//Person和teacher类,student类
Person t = new teacher();
父类类型的数组就可以容纳所有子类对象。
Person[] p = new Person[2]; p[0] = new teacher(); p[1] = new student(); //超级容器中的所有子类对象都会被识别为父类类型
。
2,父类可以成为一个超级容器,可以容纳所有子类对象。并通过 is 判断,as 来给父子类型转换。
for (int i = 0 ; i<p.Length;i++)
{if (p[i] is teacher)(p[i] as teacher).成员;//用来访问子类里的成员。
}
is 和 as
用来给自定义数据类型用。变量.GetType().Name;//得到普通变量的类型。
!!!要想访问超级容器中的子类对象必须 要is 判断,as 转型。又称为 拆箱 和 装箱。十分小号内存,更高级的
访问方式再学,这也是继承的缺点之一。因为超级容器中的所有子类对象都会被识别为父类类型。
继承中的构造函数
.net中,默认子类不能继承父类的构造函数,但可调用父类的构造函数。
语法
public student (string grade,int age,string name):base (age, name)//base 只可表示父类的字段。
{this.grade = grade ;//this 可指本类,也可指父类。//age 和 name 也可在父类中初始化。this.age = age;this.name = name;
}
//而且,参数名前后一致。
//为了减少子类本身初始化字段的代码。
继承中的重写
就是在子类写一个方法与父类中的方法一样的代码。
这会优先显示子类的方法,这叫 【默认重写】。
提高程序的扩展性。
sealed 密封类,不能被继承。
.Net 中的继承知识点相关推荐
- java 的继承_关于java中的继承
我们都知道Java中的继承是复用代码.扩展子类的一种方式,继承使得Java中重复的代码能够被提取出来供子类共用,对于Java程序的性能以及修改和扩展有很大的意义,所以这是一个非常重要的知识点. 那么对 ...
- java语言中的 继承_Java语言有关继承的总结
一.继承 1.继承的概念 继承机制是面向对向程序设计不可缺少的关键概念,是实现软件可重用的根基,是提高软件系统的可扩张性与可维护性的主要途径.(它允许创建分等级层次的类). 继承是指一个类的定义可以基 ...
- js 怎么使一个absolute覆盖在父类上面_JS基础-完美掌握继承知识点
前言 上篇文章详细解析了原型.原型链的相关知识点,这篇文章讲的是和原型链有密切关联的继承,它是前端基础中很重要的一个知识点,它对于代码复用来说非常有用,本篇将详细解析JS中的各种继承方式和优缺点进行, ...
- Python中的继承和多态
本文以生活中的基础现象为切入点,主要介绍了Python基础中继承和多态,包括单继承.多继承的语法.多态常见的 "鸭子类型". 以及如何重写父类的方法都做了详细的讲解. 一.继承的介 ...
- php中 继承中的概念,JavaScript_JavaScript中的继承方式详解,js继承的概念
js里常用的如下 - phpStudy...
JavaScript中的继承方式详解 js继承的概念 js里常用的如下两种继承方式: 原型链继承(对象间的继承) 类式继承(构造函数间的继承) 由于js不像java那样是真正面向对象的语言,js是基于 ...
- python中继承是什么意思_如何理解Python中的继承?python入门
如何理解Python中的继承?如今,python编程语言深受企业和个人的喜爱.python开发工程师是近年来互联网行业非常热门的职业岗位之一.学习python的人除了零基础的,还有一部分是在职运维.在 ...
- JavaScript中的继承入门
正统的面相对象的语言都会提供extend之类的方法用于出来类的继承,但Javascript并不提供extend方法,在Javascript中使用继承需要用点技巧. Javascript中的实例的属性和 ...
- 什么是python中子类父类_零基础入门:python中子类继承父类的__init__方法实例
前言: 今天为大家带来的内容是零基础入门:python中子类继承父类的__init__方法实例!具有不错的参考意义,希望在此能够帮助到各位!(喜欢的话记得点赞转发关注不迷路哦) 使用Python写过面 ...
- Django中Model继承的三种方式
Django中Model继承的三种方式 Django中Model的继承有三种: 1.抽象继承 2.多表继承 3.proxy model(代理model) 1.抽象继承 第一种抽象继承,创建一个通用父类 ...
最新文章
- 蓝色梦想,再次起航 | 水下目标检测算法比赛正式开赛!
- php unicode转义字符串,PHP字符串中的Unicode字符
- 图解Oracle常用SQL语句
- CSS中常见的长度单位
- boost::hana::reverse用法的测试程序
- wrapper在python中_virtualenvwrapper如何在python中安装虚拟环境?
- leetcode-反转整数
- left join,right join,inner join,full join之间的区别
- 【Opencv系列】之显示图像以及使用鼠标截取图像局部区域进行放大
- opencv中的图像拼接
- 2016链家大数据楼市半年报
- 上传文件,路径为C:\fakepath\的问题(待跟进)
- leetCode 318 最大单词长度乘积(位掩码,位运算,二进制)
- 动手深度学习PyTorch(三)模型选择、欠拟合和过拟合
- docker制作tomcat镜像并部署war包
- 【雷达信号处理】---雷达分辨率
- Substance Painter材质导入unity渲染通道配置更改
- BUUCTF | [INSHack2017]sanity | [INSHack2019]INSAnity | [INSHack2019]Sanity | [INSHack2017]insanity-
- 全球及中国大豆蛋白行业市场需求趋势及未来战略规划建议报告2022-2028年
- Linux无线网络已经禁用,无线网络启用后还显示已禁用怎么办