Skip to Main Content
iOS 编程基础:Swift、Xcode 和Cocoa 入门指南
book

iOS 编程基础:Swift、Xcode 和Cocoa 入门指南

by Matt Neuburg
January 2017
Intermediate to advanced content levelIntermediate to advanced
552 pages
9h 43m
Chinese
China Machine Press
Content preview from iOS 编程基础:Swift、Xcode 和Cocoa 入门指南
Swift
架构纵览
29
要请求。类声明定义了一个命名空间;该命名空间要求其他对象通过额外的点符号来引
用命名空间内部的事物,不过其他对象依然可以引用命名空间内部的事物;命名空间本
身并不会对可见性形成屏障,而
private
关键字则形成了这道屏障。
1.15
设计
现在你已经知道了何为对象,何为实例。不过,程序需要什么对象类型呢,这些对象类
型应该包含哪些方法与属性呢,何时以及如何实例化它们呢,该如何使用这些实例呢?
遗憾的是,我无法告诉你这些,这是一门艺术,基于对象编程的艺术。我能告诉你的是,
在设计与实现基于对象的程序时,你的首要关注点应该是什么,程序正是通过这个过程
不断发展起来的。
基于对象的程序设计必须要基于对对象本质的深刻理解之上。你设计出的对象类型需要
能够封装好正确的功能(方法)以及正确的数据(属性)。接下来,在实例化这些对象
类型时,你要确保实例拥有正确的生命周期,恰到好处地公开给其他对象,并且要能实
现对象之间的通信。
1.15.1
对象类型与
API
程序文件只会包含极少的顶层函数与变量。对象类型的方法与属性(特别是实例方法与
实例属性)实现了大多数动作。对象类型为每个具体实例赋予了专门的能力。它们还有
助于更有意义地组织程序代码,并使其更易维护。
可以用两个短语来总结对象的本质:功能封装与状态维护(我最早是在
REALbasic: The
Definitive Guide
一书中给出的这个总结)。
功能封装
每个对象都有自己的职责,并且在自身与外界对象(从某种意义上说是程序员)之
间架起一道不透明的墙,外界只能通过这道墙访问方法与动作 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

机器学习实战:基于Scikit-Learn、Keras 和TensorFlow (原书第2 版)

Aurélien Géron
Swift 人工智能实战:从基础理论到AI 驱动的应用程序开发

Swift 人工智能实战:从基础理论到AI 驱动的应用程序开发

Mars Geldard, Jonathon Manning, Paris Buttfield-Addison, Tim Nugent

Publisher Resources

ISBN: 9787111556350