- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
详细介绍C#中继承机制
详细介绍C#中的继承机制
我们都知道,继承机制是三大机制之一,重要性不用说大家也知道。本文介绍的是C#中的继承机制。希望通过本文的介绍,能给大家带来帮助。
继承是指一个对象直接使用另一对象的属性和方法。在编程中也沿用了继承的概念,在面向对象编程中,都有类的继承。下面介绍C#中的继承机制。
一. 继承基础知识
为了提高软件模块的可复用性和可扩充性,以便提高软件的开发效率,我们总是希望能够利用前人或自己以前的开发成果,同时又希望在自己的开发过程中能够有足够的灵活性,不拘泥于复用的模块。C#这种完全面向对象的程序设计语言提供了两个重要的特性--继承性inheritance和多态性polymorphism。
继承是面向对象程序设计的主要特征之一,它可以让您重用代码,可以节省程序设计的时间。继承就是在类之间建立一种相交关系,使得新定义的派生类的实例可以继承已有的基类的特征和能力,而且可以加入新的特性或者是修改已有的特性建立起类的新层次。
现实世界中的许多实体之间不是相互孤立的,它们往往具有共同的特征也存在内在的差别。人们可以采用层次结构来描述这些实体之间的相似之处和不同之处。
图1 类图
上图反映了交通工具类的派生关系。最高层的实体往往具有最一般最普遍的特征,越下层的事物越具体,并且下层包含了上层的特征。它们之间的关系是基类与派生类之间的关系。
为了用软件语言对现实世界中的层次结构进行模型化,面向对象的程序设计技术引入了继承的概念。一个类从另一个类派生出来时,派生类从基类那里继承特性。派生类也可以作为其它类的基类。从一个基类派生出来的多层类形成了类的层次结构。注意:C#中,派生类只能从一个类中继承。这是因为,在C++中,人们在大多数情况下不需要一个从多个类中派生的类。从多个基类中派生一个类这往往会带来许多问题,从而抵消了这种灵活性带来的优势。
C#中,派生类从它的直接基类中继承成员:方法、域、属性、事件、索引指示器。除了构造函数和析构函数,派生类隐式地继承了直接基类的所有成员。看下面示例:
using?System?; ?
class?Vehicle?//定义交通工具(汽车)类 ?
{ ?
protected?int?wheels?;?//公有成员:轮子个数 ?
protected?float?weight?;?//保护成员:重量 ?
public?Vehicle(?){;} ?
public?Vehicle(int?w,float?g){ ?
wheels?=?w?; ?
weight?=?g?; ?
} ?
public?void?Speak(?){ ?
Console.WriteLine(?交通工具的轮子个数是可以变化的!??)?; ?
} ?
}?; ?
class?Car:Vehicle?//定义轿车类:从汽车类中继承 ?
{ ?
int?passengers?;?//私有成员:乘客数 ?
public?Car(int?w?,?float?g?,?int?p)?:?base(w,?g) ?
{ ?
wheels?=?w?; ?
weight?=?g?; ?
passengers=p?; ?
} ?
}??
using?System?; ?
public?class?ParentClass ?
{ ?
public?ParentClass(?) ?
{?Console.WriteLine(父类构造函数。);?} ?
public?void?print(?) ?
{?Console.WriteLine(Im?a?Parent?Class。)?;?} ?
} ?
public?class?ChildClass?:?ParentClass ?
{ ?
public?ChildClass(?) ?
{?Console.WriteLine(子类构造函数。)?;?} ?
public?static?void?Main(?)?{ ?
ChildClass?child?=?new?ChildClass(?)?; ?
child.print(?)?; ?
} ?
}??
父类构造函数。子类构造函数。Im a Parent Class。
上面的一个类名为ParentClass,main函数中用到的类名为ChildClass。要做的是创建一个使用父类ParentClass现有代码的子类ChildClass。
1.首先必须说明ParentClass是ChildClass的基类。
这是通过在ChildClass类中作出如下说明来完成的:public class ChildClass :ParentClass。在派生类标识符后面,用分号:来表明后面的标识符是基类。C#仅支持单一继承。因此,你只能指定一个基类。
2.ChildClass的功能
您可能关注的文档
- 评课 行走教与学.doc
- 识记现代汉语普话字音.doc
- 词性、句子成分结简单句句型分析.doc
- 词性词缀句子成等英语基础知识 2.doc
- 词类、句子成分构成词.doc
- 词类句子成分构法(教师版).doc
- 词语使用辨析高语文导学案.doc
- 词语手册全册完版答案.doc
- 译林版四年级英下册project1教案.doc
- 试析第十一届世健美操锦标赛混双项目难度动作.doc
- 华为汽车业务核心竞争力剖析-2025-07-新势力.pptx
- 2025全球汽车供应链核心企业竞争力白皮书.pdf
- 2025粤港「组装合成」模块化建筑跨境贸易指南.pdf
- 3.1 做有梦想的少年(课件) 统编版道德与法治七年级上册.pptx
- 6.1友谊的真谛 课件- 统编版道德与法治七年级上册.pptx
- 4.1家的意味 课件- 统编版道德与法治七年级上册.pptx
- 3.2学习成就梦想 课件- 统编版道德与法治七年级上册.pptx
- 5.1走近老师 课件- 统编版道德与法治七年级上册.pptx
- 5.2珍惜师生情谊 课件- 统编版道德与法治七年级上册.pptx
- 1.1 奏响中学序曲 课件 统编版道德与法治七年级上册.pptx
文档评论(0)