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