swift类别

好久没有写文章了,也有一段时间没有看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进行初始化。

关于类就看了这么多,以后会写关于其它的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值