c#基础:类与接口的学习

一、抽象类与接口

1、类似处:他们都包含可以由派生类继承的成员。都不能实例化,但可以声明他们的变量。如果这样做,

就可以使用多态性把继承这两中类型的对象指定给他们的变量。接着通过这些变量来使用这些类型的成员,但

不能直接访问派生对象的其它成员。

2、区别:派生类只能继承一个基类,即只能直接继承一个抽象类,但可以通过一个继承链来包含多个抽

象类。相反,类可以使用任意多个接口。

按照定义,接口成员是公共的(因为它们倾向于外部使用),但抽象类的成员可以是私有的、受保护

的、内部的或受保护的内部成员。

此外,接口不能包含字段、构造函数、静态成员或常量 。

3、这说明这两种类型用于完全不同的目的。抽象类主要用作对象系列的基类,共享某些主要的特性,例

如共同的目的和结构。接口则主要用于类,这些类在基础水平上有所不同,但仍可以完成某些相同的任务。

举例说明:假如有一个对象系列表现火车,基类Train包含火车的核心定义,比如轮胎和引擎规格。但这

个类是抽象的,我们不能开着这样的火车 。所以,我们给它添加一些特性(真实的发动机、好的轮胎),得到了“蒸汽”和“汽油”火车两个派生类 Train_A

和 Train_B 。

接着,我们来考虑,汽车做好了,我们可以用来做什么?对,搭乘客,装货物,而这两种方法我们可以

放在接口 Interface 中,这样他们就有了共同的任务。

二、结构类型

1、结构和类非常相似,但结构是值类型的,类是引用类型的,这意味着什么?举例说明:

运行后,得到的结果是 :

A.val =20, B.val=20 , C.val=30, D.val=40 。

想了解更多c#相关知识吗,详情请咨询C#语言视频教程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、继承和多态在面向对象编程中,继承(也称为派生)让您能够创建新类,而这些类继承了父类(也称为基类)的特征和行为。...
    CarlDonitz阅读 945评论 0 2
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,731评论 1 51
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,088评论 18 399
  • 一、抽象类 1、抽象类含义的概括: 当多个类出现相同功能时,但功能主体不同,这样可以向上抽取,抽取时只抽取功能定义...
    玉圣阅读 965评论 0 6
  • 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?答:可以有多个类,但只能有一个publ...
    岳小川阅读 1,048评论 0 2

友情链接更多精彩内容