속성 접근자의 구현은 추상 속성 선언에 의해 제공되지 않습니다.
추상 속성을 사용하는 방법을 배우는 방법을 살펴보겠습니다. 여기에 두 개의 파생 클래스인 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); } }