美文网首页
IOS 总结 第五课 面向对象

IOS 总结 第五课 面向对象

作者: 小暖风 | 来源:发表于2018-04-25 08:14 被阅读36次

1.类用于描述客观世界中某一类对象的共同特征,而对象则是类的具体存在。

2.面向对象的三大特征:封装,继承,多态。

3.alloc是Objective-C的关键字,该关键字负责为该类分配内存空间,创建对象。Init是默认的初始化方法,负责对实例执行初始化。

4.FKPerson * person = [[FKPerson alloc] init];==后面的代码创建了一个FKPerson实例,这个实例赋给了FKPerson *类型的person变量。FKPerson实例存放在堆内存中,person变量存放的是一个地址值。

5.封装指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问。为了实现良好的封装,需要1.将对象的成员变量和实现细节隐藏起来,不允许外部直接访问。2.把方法暴露出来,让方法来控制对这些成员变量进行安全的访问和操作。

6.键值编码(KVC)与键值监听(KVO),键值编码就是允许以字符串形式间接操作对象的属性。当需要随着某个属性的改变而改变时,用键值监听实现。

7.类调用alloc的作用:1.系统为该对象的所有实例变量分配内存空间。2.将每个实例变量的内存空间都重置为0.仅仅分配内存空间的对象还不能使用,必须对对象执行初始化,才可以使用,不执行初始化调用对象方法时会出现未知的结果。

8.继承是面向对象的三大特征之一,也是实现软件复用的重要手段。Objective-C的继承具有单继承的特点,每个字类只有一个直接父类。从子类角度看,子类扩展了父类;但从父类的角度看,父类派生了子类。子类包含父类同名方法的现象被称为方法重写,也被称为方法覆盖。

9.super是Objective-C提供的一个关键字,super用于限定该对象调用它从父类继承得到的属性或方法。

10.子类接口部分定义的成员变量都不允许与父类接口部分定义的成员变量重名。

11.Objective-C指针类型的变量有两个:一个是编译时的类型,一个是运行时的类型。编译时的类型由声明该变量时使用的类型决定,运行时的类型由实际付给该变量的对象决定。如果编译时类型和运行时类型不一致,就可能出现所谓的多态。 相同类型的变量调用同一个方法时呈现出多种不同的行为特征,这就是多态。一般场景是用子类名实例化,用父类指针接收。

12.当Objective-C程序直接使用行如@"hello"的字符串直接量时,系统将会使用常量池来管理这些字符串。常量池保证相同的字符串直接量只有一个,不会产生多个副本。即NSString * s1 = @"hello"; NSString * s2 = @"hello":,s1和s2的指针地址完全相等。当使用对象方法或者实例方法创建字符串对象时,对象会被保存到堆内存中。

13.当需要为已有的类扩展一些新的行为时,最容易想到的就是继承。如果继承无法实现,则可以使用类别。

14.协议是Objective-C的一个重要知识点,其作用类似于接口,用于定义多个类应该遵守的规范。协议不提供任何实现,协议体现的是规范和实现分离的设计哲学。让规范和实现分离正是协议的好处,是一种松耦合的设计。

15. 协议支持多继承。

16.    当我们设计通用框架时,框架的代码无法预知被调用的组件的实现类、具有哪些方法,这些信息可能会通过配置文件给出,所以框架就必须动态的根据字符串来创建对象,根据字符串来决定调用哪个方法,这些功能都必须借助Objectice-C的反射,动态机制来实现。

相关文章

  • IOS 总结 第五课 面向对象

    1.类用于描述客观世界中某一类对象的共同特征,而对象则是类的具体存在。 2.面向对象的三大特征:封装,继承,多态。...

  • 2019-06-17

    总结一下iOS的一些面试经验 1.面向对象的思想?(OOA OOD OOP) 面向对象的思...

  • Day11_面向对象

    面向对象 面向对象概述 面向对象思想总结:1.面向过程:当要实现一个功能时,需要亲力亲为,处理每个细节2.面向对象...

  • iOS底层原理总结 - 关联对象实现原理

    iOS底层原理总结 - 关联对象实现原理 iOS底层原理总结 - 关联对象实现原理

  • 理解面向对象

    理解面向对象 阅读知乎大牛对面向对象的讨论后,写下自己的总结和理解。知乎 面向对象的原本特性 面向对象原本的特性(...

  • iOS底层原理总结-- KVO/KVC的本质

    iOS底层原理总结--OC对象的本质(一) - 掘金 iOS底层原理总结--OC对象的本质(二) - 掘金 iOS...

  • iOS面向对象

    一、封装 隐藏内部实现,稳定外部接口。OC中一个类可以继承另一个类,子类直接拥有父类的非私有成员变量、方法。属性封...

  • [iOS]面向对象

    面向对象 面向对象是一种程序设计的范型,同时也是一种程序开发的方法。面向对象是将现实世界中的事物抽象成对象,现...

  • 2019-10-23

    python面向对象编程总结 python中的对象:在其...

  • 面向对象总结

    面向对象编程的优势: 面向对象是将事物高度抽象化。 面向过程是一种自顶向下的编程 面向对象必须先建立抽象模型,之后...

网友评论

      本文标题:IOS 总结 第五课 面向对象

      本文链接:https://www.haomeiwen.com/subject/nxvbkftx.html