一 OC与C的对比
1、源文件对比
.c语言中常见的源文件:.h文件和.c文件
文件扩展名 源类型
.h 头文件,用于存放函数声明
.c c语言源文件,用于实现头文件中声明的方法
.oc中的源文件:.h头文件、.m和.mm的实现文件
文件扩展名 源类型
.h 头文件,头文件包含类、方法、属性的声明
.c 类的实现文件,参与编译的文件,用来实现类中声明的方法
2、关键字
(1)c语言中的关键字都可以在oc中使用
(2)oc新增的关键字在使用时,注意部分关键字以“@”开头
3、数据类型
(1) c语言的数据类型
基本数据类型:整型(短整型short、整型int、长整型long)、字符型(char)、实型(单精度float、双精度double)
构造类型:数组、结构体、枚举、共用体
指针类型
空类型
(2)oc语言数据类型
基本数据类型:整型(短整型short、整型int、长整型long、布尔类型BOOL)、字符型(char)、实型(单精度float、双精度double)
构造类型:数组、结构体、枚举、共用体
指针类型:类(class)、id类型(动态对象类型\万能指针)
Block类型(代码块数据类型)
SEL(选择器数据类型)
空类型
4、流程控制语句对比
oc语言在c语言的基础上增加了“增强for循环”
5、函数(方法)定义和声明对比
方法只能写在类里面,而函数可以写在任何地方
6、面向对象新增特性
(1)封装:把内部实现细节屏蔽起来,只提供一些接口
(2)继承
(3)多态
7、面向对象新增语法
(1)属性生成器:@property、@synthesize(可以简化代码,属性和成员变量保存一致,如果没有@synthesize,属性有_线,而成员变量没有下划线)
8、协议
使用协议声明方法
9、foundtion框架
二、面向对象
1、面向对象的基本概念
(1)面向对象(object oriented,oo)是软件开发方法
(2)oop--面向对象编程
2、面向对象和面向过程的区别
(1)面向对象是相对面向过程而言的,两者都是一种思想
(2)面向过程:
强调的是功能行为
关注的是解决问题需要哪些步骤
(3)面向对象:
将功能封装进对象,强调具备了功能的对象
关注的是解决问题需要哪些对象
三、类和对象的关系
1、oc中用类来创建对象,对象是类的具体存在,因此,面向对象解决问题应该是先要设计哪些类,在利用类创建多个对象
2、如何设计一个类
(1)属性:对应类中的成员变量
(2)行为:对应类中的成员方法
3、拥有相同属性和行为都可以抽象为一个类