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);
   }
}

相关文章