Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#의 추상 속성은 무엇입니까?

<시간/>

속성 접근자의 구현은 추상 속성 선언에 의해 제공되지 않습니다.

추상 속성을 사용하는 방법을 배우는 방법을 살펴보겠습니다. 여기에 두 개의 파생 클래스인 Square와 Circle이 있는 추상 클래스 Shape가 있습니다.

여기에 추상 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);
   }
}