Swift中的继承只能发生在类上,不能发生在枚举和结构体上.一个类可以继承另一个类的方法.属性.下标等特征,当一个类继承其他类时,继承类叫子类,被继承类叫父类(或超类).子类继承父类后,可以重写父类的方法.属性.下标等特征. 为了了解继承性,看这样一个场景:一位面向对象的程序员小赵,在编程过程中需要描述和处理个人信息,于是他定义了类Person,如下所示: class Person { var name: String var age: Int func description() -> Str…
// // main.swift // ClassDemo-06 // import Foundation println("Hello, World!") //类的定义 Person 名字 class Person{ //定义一个字段 年龄 var age :Int = 0; //定义一个字段 名字 //?表示name 为空 nil 或者没有设置 name是可选择的 var name :String?; //构造方法 init() {//不带參数 age = 5; name = &q…
在C++中,相信不会有太多人去详细考究结构体和类的区别,因为二者关系实在不大.但在Swift中,结构体和类的关系非常大,它们的组成部分都包括:初始化器.实例方法.实例属性.类型属性.类型方法等等:二者也自然有很多的不同点,最大的不同点要数「类是引用类型,结构体是值类型」.本文着重对比阐述类和结构体的本质区别和它们的使用. 类和结构体对比 在Swift中,类和结构体有很多的共同点,包括: Define properties to store values. Define methods to pr…
构造函数的介绍 构造函数类似于OC中的初始化方法:init方法 默认情况下载创建一个类时,必然会调用一个构造函数 即便是没有编写任何构造函数,编译器也会提供一个默认的构造函数. 如果是继承自NSObject,可以对父类的构造函数进行重写 构造函数的基本使用 构造函数的基本使用 类的属性必须有值 如果不是在定义时初始化值,可以在构造函数中赋值 class Person: NSObject { var name : String var age : Int // 重写了NSObject(父类)的构造…
Class class Person{ var age = 22, name = "frank" func growolder() { self.age++ //++ 要跟住 不要乱打空格 // 如果是var 可以在结构体内部进行修改 } } func celebrationBirthday(person:Person) { print("生日快乐 (\(person.name))") person.growolder() } let Frank = Person(…