一、oc的概述
C语言的超集,允许在OC中使用C语言源代码,编译器兼容C语言程序
具备完善的面向对象特性
包含一个运行时系统
类库丰富
二、面向对象编程
面向对象编程 OOP
面向对象语言 c++,java,c#
c是面向过程的语言
使用c语言完成面向对象编程的方法
面向过程编程:分析解决问题的步骤,实现函数,依次调用
面向对象编程:分析问题的组成的对象,协调对象间的联系和通信,解决问题
对象定义了解决问题的步骤中的行为,不可以完成一个步骤。
以过程为中心,以对象为中心。
具有特定的行为和特定好的属性的数据类型称之为对象
面向对象设计具有良好的可扩展性、可重用性。 例如:添加悔棋功能。 面向过程:修改整个判断逻辑。 面向对象:修改棋盘对象,添加悔棋,即回溯功能即可。
三、类和对象
类和对象是面向对象的核心
实例对象→类对象→框架(frameworks)
系统封装类
.pch是工程的头文件
//开始声明一个叫做一个ABPersoninfo的类,并且该类继承于NSObject @interface ABPersoninfo :NSObject @end
类是相同特征和行为的事物的抽象
对象是类的实例
类是对象的类型
万事万物皆为对象
面向对象编程中使用对象完成程序
开发中 :先定义类,在创建对象,然后使用对象。
定义类包含两部分:接口部分和实现部分。分开写。 接口部分:对外声明类的特征和行为。
实现部分:对内实现行为。
#include 引入、导入头文件
#import 引入、导入头文件(若已包含编译过的,不再重新编译)可以解决重复导入的问题
接口部分标志:@interface…@end 作用:声明类的实例变量和方法,即特征和行为。 包含内容:类名、父类名、实例变量、方法。
OC是消息传递机制,消息传递和调用函数对比在编译过程里面
消息对象:SEL
@selector
结构体成员变量的隐藏特性是公开的
而类的成员变量的隐藏特性是公开的
类:@interface…@end @implementation…@end 文件:.h称为接口文件或头文件,.m称为实现文件。默认设置如下: 使用类名命名文件。 .h文件管理类的接口部分;.m文件管理类的实现部分
文件和类本质没有关系,为了方便管理、实现封装特性。
创建对象
分配内存空间和初始化
分配内存空间:根据类中声明的实例变量为对象分配内存,将所有实例变量置为默认值0,并返回首地址
初始化:为对象的实例变量设置初始值
创建对象:
分配内存空间:Person * p = [Person alloc]; 初始化:p = [p init];
通常这两部操作需要连写:Person * p = [[Person alloc] init];+ (id)alloc;
+表示这个方法属于类,只能类执行。id返回值类型,表示任意类型的对象,即创建好的对象。
- (id)init; -表示这个方法属于对象,只能对象执行。id返回值类型,表示初始化完成的对象。
四、实例变量操作
实例变量就是实例对象的成员变量。
实例变量在初始化只做少量设置,后期还需要进行设置。 实例变量区分可见度,共三种。这节课使用public @public:实例变量访问修饰符号(公有)。
面向对象和面向过程是两种不同的编程思想,思考角度不同,前者以对象为中心,后者以事件为中心。 类是对象的抽象,对象是类的体现。面向对象编程中,先创建出对应的类,再由类生成对象,进而完成我们的开发。 类包含接口和实现两个部分,对象创建分两步:创建对象、初始化。 public修饰的实例变量,可以直接使用—>访问
OC之初始类和对象
最新推荐文章于 2021-05-27 15:35:11 发布