继承反应了类和类之间的关系。
世界上很多事物都是有共性的,共性的那一部分我们就抽象为基类,用于派生其它类,这样提高了代码的复用性,使得代码的结构清晰易读,而且易于代码的扩展和维护。
C#的继承只能继承自一个基类,这一点不同于C++的继承。
C#的继承具有传递性,即B继承自A,C继承自B,则C具有A的所有特性。
C#的继承隐式为public的。
假如不在派生类构造器中显示调用一个基类构造器,编译器会自动插入对基类的默认构造器的一个调用,然后才会执行派生类构造器中的代码,如果基类没有默认的构造器,会造成编译错误。
举例:动物的共性:有嘴巴,有眼睛,有鼻子,可以移动,能够吃东西
所以定义基类 (包含动物的共性)
代码如下:
publicclassAnimal{
……
}
再定义具体的动物的时候就可以继承自基类Animal,不用再重新定义这些基本的特征,只定义自己独有的特性就好。
例如:Dog
代码如下:
publicclassDog:Animal
{
//编译器会自动插入对基类的默认构造器的一个调用,然后才会执行派生类构造器中的代码
publicstringBark;//狗叫声
}
代码如下:
publicclassDog:Animal{
//在派生类构造器中显示调用一个基类构造器
publicDog()
:base(){
}
publicstringBark;
}
注意:
可以把一个派生类的值赋给基类,但不能把一个基类的值赋给派生类,因为基类不能转换为派生类,基类中只包含了派生类的一部分特性。
Animalanimal=newDog();正确的
Dogdog=newAnimal();错误
您可能感兴趣的文章:C#面向对象设计的七大原则C#面向对象三大特性:封装、继承、多态解析C#面向对象编程中方法(method)的使用C#中面向对象编程机制之多态学习笔记浅谈c#面向对象之类与对象浅谈对c#面向对象的理解C#面向对象编程之猜拳游戏实现方法C#面向对象特征的具体实现及作用详解C#面向对象的基本原则C#面向对象编程基础概念汇总
浅谈c语言中类型隐性转换的坑
用C语言实现从文本文件中读取数据后进行排序的功能
上述就是C#学习教程:C#中面向对象编程机制之继承学习笔记分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/905998.html