C# 初学者/继承
外观
< 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”;
当我们创建一个“吉他手”实例时,我们可以立即访问音乐家和吉他手的字段(只要它们不是私有的)。