반응형
Swift에서 다형성 구현한 간단하 예제입니다.
protocol과 class를 사용하여 구현된 소스입니다.
protocol Shape {
func draw()
}
class Rectangle : Shape {
var width : Int
var height : Int
init (width : Int, height : Int){
self.width = width
self.height = height
}
func draw(){
print("Width : \(width), Height : \(height)");
}
}
class Circle : Shape {
var x : Int
var y : Int
var r : Int
init (x : Int, y : Int, r : Int){
self.x = x
self.y = y
self.r = r
}
func draw(){
print("X : \(x), Y : \(y), R : \(r)");
}
}
var r = Rectangle(width : 10, height : 10)
var c = Circle(x : 0, y : 0, r : 5)
var drawList : [Shape] = []
drawList.append(r)
drawList.append(c)
for s in drawList {
s.draw()
}
반응형
'iOS' 카테고리의 다른 글
[iOS 앱 개발] Swift 메소드/생성자 오버로딩(Overloading) (1) | 2022.09.23 |
---|---|
[iOS 앱 개발] Swift 형 체크(is) (0) | 2022.09.22 |
[iOS 앱 개발] Swift 구조체/클래스 if 절 비교를 위한 "==" 연산자 구현 (1) | 2022.09.19 |
[iOS 앱 개발] Swift 클로저(Closure), 후행 클로저 (0) | 2022.09.16 |
[iOS 앱 개발] Swift 함수(func) (0) | 2022.09.06 |
댓글