- 博客(6)
- 收藏
- 关注
原创 封装
封装 封装"的概念在面向对象思想中是最基础的概念,它实质上是通过将相关的一堆函数和一堆对象放在一起,对外有函数作为操作通道,对内则以变量作为操作原料。只留给外部程序员操作方式,而不暴露具体执行细节。1.将数据结构和函数放在一起是否真的合理 函数就是做事情的,它们有输入,有执行逻辑,有输出。 数据结构就是用来表达数据的,要么作为输入,要么作为输出。两者本质上是属于完全
2015-10-16 15:18:42
223
原创 多态
多肽 多态一般都要跟继承结合起来说,其本质是子类通过覆盖或重载(在下文里我会多次用到覆盖或重载)父类的方法,来使得对同一类对象同一方法的调用产生不同的结果。这里需要辨析的地方在:同一类对象指的是继承层级再上一层的对象,更加泛化。我们在实际采用多态的时候会有下面四种情况:父类有部分public的方法是不需要,也不允许子类覆重父类有一些特别的方法是必须要子类去覆重的,在父
2015-10-15 10:43:59
249
原创 继承
继承 继承从代码复用的角度来说,特别好用,也特别容易被滥用和被错用。不恰当地使用继承导致的最大的一个缺陷特征就是高耦合。 例如: object -> model object -> view object -> controller 这里是有非常明确的层次关系的,我在这里也顺便提一下使用继承的3大要点: 父类只是给
2015-10-14 18:03:11
195
原创 Objective-C Runtime
objective - c语言尽可能许多决定推迟时间运行时编译时间和链接。只要可能,他动态的事务,这意味着语言不仅需要一个编译器。一个运行时系统来执行编译后的代码,运行时系统作为一种操作系统的objective - c语言;它使语言文字工作,本文着眼于NSObject类和objective - c程序如何与运行时系统交互,特别是它考察了在运行时动态加载新类的范例。和转发消息到其他对象。它还提供
2015-09-30 18:33:41
190
原创 lanauage identifier changed in iOS 9
iOS 9 的标识符已经改变NSLocale.preferredLanguages() 。例如一个用户设置语言为英语,地区为印第安,返回为[ "en-IN" ],而不是[ "en" ]。这些隐式后退并不总是显而易见的语言标识符,它们是由NSBundle里所使用的语言环境数据资源配置机制。尝试手动处理语言标识符,或执行字符串比较,会导致问题。相反,依靠NSBundle api时加
2015-09-29 17:52:19
369
原创 block的实质
Block是带有“自动变量值的匿名函数”。Block省略了返回值和参数列表。struct __block_impl { void *usa;int Flags;int Reserved;void *FuncPtr;}struct __main)block_impl_0 {struct __block_impl impl;stryct __main_blo
2015-09-16 11:55:53
280
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅