本文是C#初学者简单教程,这是第11篇。感谢观看,记得关注我,后续还有更多教程文章,谢谢。

本文环境为Visual Studio 2019。

一、什么是继承

继承是面向对象编程的一种基本特性。 借助继承,能够定义可重用(继承)、扩展或修改父类行为的子类。 成员被继承的类称为基类。 继承基类成员的类称为派生类。

比如,齐胸襦裙是汉服形制的一种,模范家庭是家庭的一种,罗飞鱼、鲈鱼是鱼的一种。

那么:汉服形制、家庭、鱼,就是基类,也叫父类。齐胸襦裙、模范家庭、罗飞鱼和鲈鱼,则是派生类,也叫子类。

二、C#中继承的写法

如上图,继承的语法是使用一个英文半角冒号(:)来定义。

三、C#中继承的要点

1、在C#中,继承,是单继承,意思是每个子类,最多只能有一个父类。

2、在C#中,继承是具有层级结构的,可以不断的被一代一代继承下去,有点像神族人的族谱。

如上图,鲈鱼的父类是鱼,鱼的父类是动物,动物的父类是生物,具有一层一层的继承关系。

3、在C#中,所有类,都是隐式继承自Object基类。正因为如此,所以,您看到的上面的“鱼”类,它里面是空的没有东西的,但是您输出的话,会发现出现一些另外的东西,这些东西其实是由Object基类来定义的。如下图所示:

红圈的定义,是隐式基类Object定义的。

四、抽象类

一旦您继承了某类后,那么该类就是所谓的基类(父类)了。

如果你期望该基类不可以被实例化(即new一个对象),那么就可以添加abstract关键字。

五、密封类

如果您期望一个类,不允许再被继承了,那么您可以添加sealed关键字,理解为密封。

如上图,一旦加入sealed关键字,将禁止派生。

祝您用餐愉快。

在保护继承中基类的共有成员_C#初学者教程系列11:继承相关推荐

  1. 在保护继承中基类的共有成员_C++学习大纲:继承方式的调整

    C++ 继承方式的调整 在任何继承方式中,除了基类的private成员外,都可以在派生类中分别调整其访问控制. 调整格式 [public: | protected: | private: ] :: ; ...

  2. 在保护继承中基类的共有成员_C++学习刷题13--继承的实现、继承的方式

    一.前言 本部分为C++语言刷题系列中的第13节,主要讲解这几个知识点:继承的实现.继承的方式.欢迎大家提出意见.指出错误或提供更好的题目! 二.知识点讲解 知识点1:继承的实现,可以理解派生类拥有成 ...

  3. 在保护继承中基类的共有成员_C++面向对象:C++ 继承

    面向对象程序设计中最重要的一个概念是继承.继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易.这样做,也达到了重用代码功能和提高执行效率的效果. 当创建一个类时,您不需要重新 ...

  4. 在保护继承中基类的共有成员_c++中的继承

    类的继承,是新的类从已有类那里得到已有的特性.从另一个角度来看这个问题,从已有类产生新类的过程就是类的派生. 派生类的定义 class 派生类名:继承方式 基类名1,继承方式 基类名2 {派生类成员声 ...

  5. c#如何跳出一个函数_C#初学者教程系列9:类和对象

    本文是C#初学者简单教程,这是第9篇.感谢观看,记得关注我,后续还有更多教程文章,谢谢. 本文环境为Visual Studio 2019. 一.将现实世界转为类 类是对现实世界的代码描述,也就是所说的 ...

  6. C++ 类的继承,基类,派生类

    继承: 当创建一个类时,不需要重新编写新的数据成员和成员函数,只需指定新建的类继承了一个已有的类的成员即可. 这个已有的类称为基类,新建的类称为派生类. 例: //基类class Animal {// ...

  7. C++中基类的析构函数为什么要用virtual虚析构函数

    知识背景 要弄明白这个问题,首先要了解下C++中的动态绑定. 关于动态绑定的讲解,请参阅:  C++中的动态类型与动态绑定.虚函数.多态实现 正题 直接的讲,C++中基类采用virtual虚析构函数是 ...

  8. 虚继承c语言例子,C/C++ 多继承{虚基类,虚继承,构造顺序,析构顺序}

    C/C++:一个基类继承和多个基类继承的区别 1.对多个基类继承会出现类之间嵌套时出现的同名问题,如果同名变量或者函数出现不在同一层次,则底层派生隐藏外层比如继承基类的同名变量和函数,不会出现二义性, ...

  9. C++ Primer 5th笔记(chap 15 OOP)继承中的类作用域

    1. 派生类的作用域 每个类定义自己的作用域,作用域内定义成员,当存在继承关系时,派生类的作用域嵌套在其基类的作用域之内.如果一个名字在派生类的作用域内无法正确解析,则编译器将继续在外层的基类作用域中 ...

最新文章

  1. 在IIS7里配置 ISAPI,运行dll程序,总提示下载dll
  2. JAVA_OA(八):springMVC对JDBC的操作小项目b
  3. python性能测试模块_python模块介绍- multi-mechanize 通用的性能测试工具
  4. git配置global信息
  5. 搭建K8s集群(kubeadm方式)-操作系统初始化
  6. Python中高级变量类型(列表,元组,字典,字符串,公共方法...)
  7. 转载 一篇UI规范文件
  8. mnist数据集python导入_导入MNIST数据集时出错
  9. (原创)shell脚本编程之---正则表达式的使用
  10. lopatkin俄大神Windows精简版系统安装注意事项及恢复OneDrive
  11. Xshell清屏快捷键
  12. 英文网站源码 国外财经资讯商业新闻整站源码 全自动采集发布 广告联盟网站
  13. 大学生安卓期末设计之本地音乐播放器
  14. mysql foxpro,如何使用MySql同步Visual Foxpro dbfs?
  15. 小米手机的miui10 连接电脑。本地播放器推荐。
  16. xcode7.3.1升级iOS10 SDK
  17. 单链表创建以及头插、尾插
  18. android模拟点击系统打开apk按钮,Android开发系列: 电脑端Android模拟器安装使用教程...
  19. #USACO#Island Travels
  20. element plus 表格合计

热门文章

  1. 前端学习(2837):image图片标签
  2. 前端学习(2826):数据绑定
  3. 工作147:外部that
  4. 前端学习(2343):理解virtaldom和key
  5. 前端学习(555):margin与容器的尺寸
  6. spring学习(8):log4j.properties 详解与配置步骤
  7. Linux 延时函数
  8. 条件变量 ---C++17 多线程
  9. 可变参数模板(参考《C++ Templates 英文版第二版》)
  10. laravel常用响应操作