面向对象的OC
面向结构和面向对象的区别
关于这两种编程模式的区分,有很多说法。而这两种模式在实际编程中体现出的直接区别就是:面向对象采用了“类”这种数据结构,面向结构编程中不能使用“类”。
由于OC和C完全兼容,所以对于在开发过程中使不使用“类”,要试问题而定。如果使用“类”,就是面向对象编程;反之,就是面向结构编程。
可能刚开始的时候,接触到的都是一些比较小的工程,不涉及到面向对象编程也能完成。随着不断的接触,你自然会发现有些问题使用面向对象编程有明显的优势。
面向对象的三大基本特性
封装:又叫隐藏实现,就是只公开代码单元的对外接口,隐藏具体实现。举个简单的例子:你用电脑玩游戏,你只需要知道按键盘的那个键,游戏中的人物会走,会跑,会攻击等等就可以了,不会告诉你是怎么做到的。
继承:是说子类自动共享父类一切公共资源的机制。这是类之间的一种关系。简单的来说,你创建一个类时,必须要选择一个类作为父类(没有父类的类通常被称为“基类”,在OC中只有一个基类“NSObject”(如果你想在OC中创建一个基类,也必须继承NSObject))。当选定一个父类之后,自己的类中就具有了父类的公共资源。
通过继承,子类拥有了父类的部分资源(父类私有的不能继承),可以对这些资源进行更改,变成自己特有的。例如,在类中封装了一个方法(没学类结构之前,简单的理解成就是一个函数),你可以直接使用这个方法,也可以对这个方法进行改写,变成自己的。
多态:用一句经典的话解释它就是:父类的指针指向子类的对象。所以,多态是建立在继承的基础上的。对于多态,就需要弄懂这一句话。
对于面向对象编程,我们需要通过不断地编写程序,逐渐地了解到底什么是封装、继承、多态。对于初次接触面向对象语言的读者,可能有点难理解,这是正常的。在OC的基础学习中,我们会不断地接触到封装,继承(多态只是解决特定问题的方法,不是经常用到),所以不用担心学不会。
关于这两种编程模式的区分,有很多说法。而这两种模式在实际编程中体现出的直接区别就是:面向对象采用了“类”这种数据结构,面向结构编程中不能使用“类”。
由于OC和C完全兼容,所以对于在开发过程中使不使用“类”,要试问题而定。如果使用“类”,就是面向对象编程;反之,就是面向结构编程。
可能刚开始的时候,接触到的都是一些比较小的工程,不涉及到面向对象编程也能完成。随着不断的接触,你自然会发现有些问题使用面向对象编程有明显的优势。
面向对象的三大基本特性
封装:又叫隐藏实现,就是只公开代码单元的对外接口,隐藏具体实现。举个简单的例子:你用电脑玩游戏,你只需要知道按键盘的那个键,游戏中的人物会走,会跑,会攻击等等就可以了,不会告诉你是怎么做到的。
继承:是说子类自动共享父类一切公共资源的机制。这是类之间的一种关系。简单的来说,你创建一个类时,必须要选择一个类作为父类(没有父类的类通常被称为“基类”,在OC中只有一个基类“NSObject”(如果你想在OC中创建一个基类,也必须继承NSObject))。当选定一个父类之后,自己的类中就具有了父类的公共资源。
通过继承,子类拥有了父类的部分资源(父类私有的不能继承),可以对这些资源进行更改,变成自己特有的。例如,在类中封装了一个方法(没学类结构之前,简单的理解成就是一个函数),你可以直接使用这个方法,也可以对这个方法进行改写,变成自己的。
多态:用一句经典的话解释它就是:父类的指针指向子类的对象。所以,多态是建立在继承的基础上的。对于多态,就需要弄懂这一句话。
对于面向对象编程,我们需要通过不断地编写程序,逐渐地了解到底什么是封装、继承、多态。对于初次接触面向对象语言的读者,可能有点难理解,这是正常的。在OC的基础学习中,我们会不断地接触到封装,继承(多态只是解决特定问题的方法,不是经常用到),所以不用担心学不会。