1、使用一款iOS应用程序并识别其中的对象。选择一款同时有iPhone和iPad版本的应用程序。在这两个版本中运行该应用程序,识别开发人员可能用于编写应用程序代码的不同对象。用你创建该应用程序所需的类创建一个UML图。思考每个类所需的方法和属性。如果应用程序极其复杂,只需关注一个特定功能。
实践操作题指南
这是一个实践操作题,需按以下步骤完成:
- 选取一款同时有 iPhone 和 iPad 版本的 iOS 应用程序;
- 在 iPhone 和 iPad 上分别运行该应用程序,识别开发人员编写代码可能用到的不同对象;
- 用创建该应用程序所需的类创建 UML 图;
- 思考每个类所需的方法和属性;若应用程序很复杂,可只关注一个特定功能。
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. 实例内存分配之后。
- 实例从内存中释放之前。
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

最低0.47元/天 解锁文章
403

被折叠的 条评论
为什么被折叠?



