// // main.swift // test // // Created by CYFang on 6/6/14. // Copyright (c) 2014 CYFang. All rights reserved. // //return Array to Integer class Shape{ var height:Double = 0.0 var width:Double = 0.0 init(){} init(height:Double){ self.height = height } init(height:Double, width:Double){ self.height = height self.width = width } func getArea() -> Double{ return 0.0 } } class Rectangle:Shape{ init(height: Double, width: Double) { super.init(height:height, width:width) } override func getArea() -> Double{ return self.width * self.height } } class Triangle:Shape{ var upper:Double = 0.0 init(height: Double, upper : Double) { super.init(height:height) self.upper = upper } override func getArea() -> Double{ return (self.upper * self.height)/2 } } class Keystone:Shape{ var upper:Double = 0.0 var lower:Double = 0.0 init(height : Double, upper : Double, lower : Double){ super.init(height : height) self.upper = upper self.lower = lower } override func getArea() -> Double{ return ((self.lower + self.upper) * self.height) / 2 } } class Circle:Shape{ let pi:Double = 3.14 var r = 0.0 init(heigth : Double){ super.init(height : heigth) self.r = heigth/2 } override func getArea() -> Double{ func pow(x:Double, y:Double) -> Double{ var sum:Double = 1.0 for index in 1...y{ sum*=x } return sum } var sum = pow(self.r, 2.0) return sum * self.pi } } var mRectangle = Rectangle(height : 10, width : 10) println(mRectangle.getArea()) var mTriangle = Triangle(height : 10, upper : 10) println(mTriangle.getArea()) var mKeystone = Keystone(height: 5, upper: 4, lower: 6) println(mKeystone.getArea()) var mCircle = Circle(heigth: 6) println(mCircle.getArea())
執行結果: