1.什么是继承
在 C# 编程语言中,继承是一个核心概念,它允许一个类(称为派生类)继承另一个类(称为基类)的成员,如方法、属性和其他成员。继承机制使得代码重用成为可能,简化了应用程序的创建和维护过程。
2.继承的基本概念
继承建立了一个属于(IS-A)关系,例如,狗是哺乳动物,哺乳动物是动物,因此狗也是动物。在 C# 中,继承是通过冒号(:)表示的,派生类在其声明中包含基类的名称
class Dog
{
//基类成员
}
class Animal:Dog
{
//派生类成员
}
派生类继承了基类的公共和受保护成员,但私有成员不会被继承。派生类可以有自己的成员,也可以重写基类的成员以提供新的实现
3.继承类的语法格式
派生类:基类
当一个类继承自另一个类的时候,子类将自动拥有父类的成员(成员变量和成员方法)
namespace 继承
{
internal class Program
{
static void Main(string[] args)
{
Kitty kitty = new Kitty();
kitty.All();
kitty.Sleep();
}
}
//如果一个类没有继承任何类,那么默认他继承object,C#中所有的类,都直接或者间接继承自object,object是所有类的"终极基类"
class Cat
{
public string name { get; set; }
public double weight { get;set; }
public Cat()
{
name = "kitty";
weight = 5;
}
public void Speak()
{
Console.WriteLine("喵喵");
}
public void Sleep()
{
Console.WriteLine("睡觉");
}
}
//Kitty 派生类
//Cat 基类
class Kitty:Cat
{
public int age { get; set; }
public string color { get; set; }
public Kitty()
{
age = 6;
color = "橘黄";
}
public void Run()
{
Console.WriteLine("跑");
}
public virtual void All()
{
Console.WriteLine("体重:{0}",weight);
Console.WriteLine("名字{0}",name);
Console.WriteLine("年龄{0}",age);
Console.WriteLine("颜色{0}",color);
}
}
}
4.继承的限制
C# 不支持多重继承,这意味着一个类只能有一个直接的基类。然而,C# 支持接口的多重继承,允许一个类实现多个接口。
5.继承的注意事项
-
如果基类有参数化的构造函数,派生类必须显式定义构造函数,并使用 base 关键字调用基类的构造函数。
-
派生类可以重写基类的方法,但基类的方法必须用 virtual 关键字标记为可重写。
-
派生类可以添加自己独有的成员和方法,以实现更具体的功能。
继承是 C# 面向对象编程的一个强大特性,它提高了代码的可维护性和可重用性。通过继承,开发者可以构建灵活的类层次结构,使得新的类可以快速地利用现有的代码