C# Inheritance 继承
继承的类型
- 单重继承:表示一个类可以派生自一个基类。
- 多重继承:表示一个类可以派生字多个类,C#不支持类的多重继承,支持接口的多重继承,即一个类可以实现多个接口。
- 多层继承:类B派生自类A,类C派生自类B,类B就被称为中间基类。
- 接口继承:定义了接口的继承。一个类派生自一个接口,声明这个类就会实现某些函数。
实现继承
- 类可以实现类继承和接口继承,结构只能用于接口继承。
- 用虚方法virtual 主要是为了在派生类中重写该方法,在派生类的函数中重写另一个函数时要使用override关键字,且签名和返回类型必须完全匹配。
- 成员字段和静态函数都不能声明为virtual,虚方法只对实例函数成员有意义。
static void Main(string[] args)
{
var r = new Rectangle();
r.Position.X = 33;
r.Position.Y = 22;
r.Size.Width = 200;
r.Size.Height = 100;
r.Draw();
Console.ReadKey();
}
public class Position
{
public int X {
get; set; }
public int Y {
get; set; }
public override string ToString()
{
return $"X :{X},Y : {Y}";
}
}
public class Size
{
public int Width {
get; set; }
public int Height {
get; set; }
public override string ToString()
{
return $"Width :{Width},Height : {Height}";
}
}
public class Sharp
{
public Position Position {
get;} = new Position();
public Size Size {
get; } =