Swift面向对象编程实践

1、使用一款iOS应用程序并识别其中的对象。选择一款同时有iPhone和iPad版本的应用程序。在这两个版本中运行该应用程序,识别开发人员可能用于编写应用程序代码的不同对象。用你创建该应用程序所需的类创建一个UML图。思考每个类所需的方法和属性。如果应用程序极其复杂,只需关注一个特定功能。

实践操作题指南

这是一个实践操作题,需按以下步骤完成:

  1. 选取一款同时有 iPhone 和 iPad 版本的 iOS 应用程序;
  2. 在 iPhone 和 iPad 上分别运行该应用程序,识别开发人员编写代码可能用到的不同对象;
  3. 用创建该应用程序所需的类创建 UML 图;
  4. 思考每个类所需的方法和属性;若应用程序很复杂,可只关注一个特定功能。

2、对象也被称为:1. 类。2. 子类。3. 实例。

3

3、类中方法里指定的代码能否访问类中指定的属性以及能否与类的其他成员进行交互,以下说法正确的是:1. 不能访问类中指定的属性。2. 可以访问类中指定的属性。3. 不能与类的其他成员进行交互。

2

4、一个子类是否从其父类继承所有成员?

True

5、在 Swift 中,类中定义的用于封装每个类实例数据的变量被称为什么?1. 子类。2. 属性。3. 方法。

2

6、Swift使用以下哪种机制自动释放不再被引用的实例所占用的内存:1. 自动随机垃圾回收器。2. 自动引用计数。3. 自动实例映射归约。

2

7、Swift 在以下哪个时间执行实例的析构器:1. 实例从内存中释放之前。2. 实例从内存中释放之后。3. 实例内存分配之后。

  1. 实例从内存中释放之前。

8、你使用 static var 关键字来声明类型属性、实例属性和只读计算实例属性,这种说法是否正确?

FALSE。在 Swift 中, static var 用于声明类型属性,而不是实例属性和只读计算实例属性。实例属性是属于类的每个实例的属性,不需要使用 static 关键字;只读计算实例属性是一种特殊的实例属性,通过计算来返回值,也不需要 static 关键字。

9、你使用 static let 关键字来声明一个:1. 可变类型属性。2. 不可变实例属性。3. 不可变类型属性。

3

10、创建操作符函数,使我们能够使用 == != 操作符来判断两个 DomesticMammal 实例是否相等。当两个实例的 age (年龄)、 name (名称)和 favoriteToy (最喜欢的玩具)属性值相同时,我们认为它们相等。

以下是实现该功能的示例代码:

class DomesticMammal {
    var age: Int
    var name: String
    var favoriteToy: String

    init(age: Int, name: String, favoriteToy: String) {
        self.age = age
        self.name = name
        self.favoriteToy = favoriteToy
    }
}

public func ==(left: DomesticMammal, right: DomesticMammal) -> Bool {
    return left.age == right.age && left.name == right.name && left.favoriteToy == right.favoriteToy
}

public func !=(left: DomesticMa
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值