class Circle :Shape一
var center: CGPoint?
var raduis : CGFloat?
/1椭圆的宽度和高度,一般可以采用CGSize
var size : CGSize?
//构造器
init (name: String,oriqin: CGPoint, center: CGPoint, raduis : CGEloat, size :CGSize)
super.init (name: name, origin: origin)
self.center = center
self.raduis = raduis
self.size = size
一
convenience init(center : CGPoint,raduis : CGFloat) 一
let x = center.x - raduis
let y = center.y - raduis
self.init(name: "Circle",origin:CGPoint(x:x,y:y), center: center, raduis: raduis, size: CGSize(width: raduis, height; raduis))
convenience init(center : CGPoint, size : CGSize) 一
let x= center.x- size.width/2
let y = center.y - size.height/2
self.init(name: "Oval/Ellipse", origin: CGPoint(x:x,y:y), center:center,raduis:0, size:size)
override func drawBezierPath()i
print("Draw
\(name!)")
class Polygons:Shape(
//顶点数组
var points : Array<CGPoint>?
init(name: String, origin: CGPoint, points: Array<CGPoint>)
super.init (name: name, origin: origin)
self.points = points
convenience init(points : Array<CGPoint>) 一
if points.count ==3
self.init(name:"Triangel", origin: points.first!, points: points)
else if points.count >= 3(
self.init(name: "Polygons", origin: points,first!, points: points))
else (
let origin = CGPoint(x: 0, y: 0)
self.init (name: "Error", origin: origin, points: points)
override func drawBezierPath()
upraw(name!)")