什么是 C# 中的抽象属性?


抽象属性声明不会提供属性访问器的实现。

让我们看看如何学习使用抽象属性。这里我们有一个带有两个派生类的抽象类形状:正方形和圆形。

这里,我们有一个抽象的面积属性。

以下是圆类。

范例

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

同样,方形类。

范例

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

以下是抽象的形状类。

范例

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

更新于:2020 年 6 月 23 日

716 次浏览

开启你的 职业生涯

完成课程即可获得证书

开始
广告