跳转到内容

C# 初学者/继承

来自维基教科书,开放的书籍,开放的世界

由于这是关于编程入门,我们不想用太多复杂的东西来迷惑你。

你可能会看到类被声明成这样

class MyClass : Form 	
{
	...//
}

而不是像这样

class MyClass
{
	...//
}

人类继承

你从父母那里继承特征是很常见的。你可能拥有你母亲的说话方式或你父亲的鼻子。这并不意味着你与你的父母完全一样,但当你出生时,某些特征会“内置”。

代码继承

当我们编写代码时,从现有的类继承一大堆能力可能会有用。让我们举个例子。有两个定义的类“动物”和“鸟”,但“鸟”类从动物类继承。

class Animal
{
	public string kindOfAnimal;
	public string name;
	....
	
}

class Bird : Animal	// “Bird” class inherits from “Animal” class
{
	public string featherColor;
	
}

在现实世界中,鸟是一种动物,但它具有一些不适用于所有动物的特征。因此,鸟类具有动物的所有特征以及一些额外的特征是有意义的。在本例中,我们仅为鸟类识别了一个特殊字段——羽毛颜色。我们实际上是在说“我正在定义一个名为“鸟”的新类,但它也必须从“动物”类继承所有内容”。

何时使用继承

继承最适合用于以下情况:你想要实现的目标大部分可以由现有类完成,你只是想扩展或自定义它。在以下示例中,类“吉他手”从类“音乐家”继承了三个字段,并添加了两个自己的字段。冒号“:”是告诉计算机使新类(吉他手)从冒号右侧写入的类继承的部分。

public class Musician
{
	public string name;
	public int ageInYears;
        ....\\
}

public class Guitarist : Musician
{
	public string guitarType;
	public string guitarBrand;
}

Guitarist g = new Guitarist();
g.name = "JOHN ABC";
g.ageInYears = 25;
g.guitarType = Acoustic;
g.guitarBrand = Gibson;

当我们创建一个“吉他手”实例时,我们可以立即访问音乐家吉他手的字段(只要它们不是私有的)。

华夏公益教科书