C# 中的抽象属性是什么?
csharpprogrammingserver side programming更新于 2025/9/20 12:37:17
抽象属性声明不会提供属性访问器的实现。
让我们看看如何使用抽象属性。这里我们有一个抽象类 Shape,它有两个派生类:Square 和 Circle。
这里我们有一个抽象的 Area 属性。
下面是 Circle 类。
示例
public class Circle : Shape {
private int radius;
public Circle(int radius, string id) : base(id) {
this.radius = radius;
}
public override double Area {
get {
return radius * radius * System.Math.PI;
}
}
}
以同样的方式,Square 类。
示例
public class Square : Shape {
private int side;
public Square(int side, string id) : base(id) {
this.side = side;
}
public override double Area {
get {
return side * side;
}
}
}
以下是 Shape 类,它是抽象的。
示例
public abstract class Shape {
private string name;
public Shape(string s) {
Id = s;
}
public string Id {
get {
return name;
}
set {
name = value;
}
}
public abstract double Area {
get;
}
public override string ToString() {
return Id + " Area = " + string.Format("{0:F2}", Area);
}
}

