好久没有写文章了,也有一段时间没有看swift了,这几天看了看,再次做一些总结。以下均为个人的领悟。
与传统的OC不同,在swift中定义一个类,是用class来声明的。例如:
class Shape {
var numberofsides = 0
func simpledescription() - String {
return "“A shape with \(numberOfSides) sides.
}
}
这里声明了一个类Shape。这个类有一个成员变量numberofsides,有一个方法simpledescription()。创建一个类的实例化对象如:var shape = Shape()。访问对象的属性和方法使用点语法,如:
shape.numberofside = 7;
var shapedescription = shape.simpledescription()
类一般都有初始化方法,swift中一样有这样的功能,如:
class NamedShape {
var numberOfSides: Int = 0
var name: String
init(name: String) {
self.name = name
}
func simpleDescription() -> String {
return "A shape with \(numberOfSides) sides."
}
}
在创建实例化对象的时候,可以在括号中进行初始化,如:var theshape = NameShape(name:"hello world")
定义一个子类时在名字的后面加上父类的名字,用冒号隔开,如果需要重写父类的方法的话,需要用override来标记,否则会编译报错。如:
class Square: NamedShape {
var sideLength: Double
init(sideLength: Double, name: String) {
self.sideLength = sideLength
super.init(name: name)
numberOfSides = 4
}
func area() -> Double {
return sideLength * sideLength
}
override func simpleDescription() -> String {
return "A square with sides of length \(sideLength)."
}
}
let test = Square(sideLength: 5.2, name: "my test square")
test.area()
test.simpleDescription()
而且,在实例化对象的时候,也必须对父类的init进行初始化。
关于类就看了这么多,以后会写关于其它的。