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

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

让我们看看如何学习如何使用抽象属性。在这里,我们有一个抽象类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);

   }

}

以上是 什么是C#中的抽象属性? 的全部内容, 来源链接: utcz.com/z/351539.html

回到顶部