OC部分
第一部分 基本概念
OC概述
OC是一种能够完成复杂面向对象编程的简单的计算机设计语言。
通过提供用于定义类和方法的语法它扩展了标准的c语言。它还提供了类和接口(任何类采用)的动态扩展。
面向对象编程
1. 面向对象 和 面向过程
面向对象 OOP(
Object Oriented Programming
) 分解问题组成的对象 协调对象间的联系和通信 解决问题. 以对象为中心 也就是参数事件的参与者,设计对象的功能完成事件只是事物所有功能中的一小部分.
面向过程 POP (P
rocedure Oriented
Programming)
分析解决问题的步骤 实现函数 依次调用. 事件为中心 关心该事件的详细步骤 一步一步如何完成实现.
类和对象
2. 类 只允许单继承 一个类只允许一个父类 没有父类的类称为根类 NSObject 根类 OC里唯一一个没有父类的类
类
:一组具有
相同特征和行为的事物的抽象集合
。 是一个抽象的概念,在生活中不具体.
静态属性 特征 动态属性 动作
对象:类中具体的。对象是类的实例。类的具体表现.
类和对象是面向对象的核心。
三大步骤:定义类 ,创建对象,使用对象。
OC中类的定义
面向对象编程中使用对象完成程序
开发中:先定义类 ,在创建对象,然后使用对象。
面向对象编程中使用对象完成程序
开发中:先定义类 ,在创建对象,然后使用对象。
定义类包含两部分“:接口部分和实现部分。 分开写 。
1.接口部分:对外声明类的特征和行为 提供外部访问的接口 相当于说明书。 写在 .h文件中
接口部分标志:@interface @end
作用: 声明类的实例变量和方法,即特征和方法
包含内容:类名 父类名 实例变量 方法。
作用: 声明类的实例变量和方法,即特征和方法
包含内容:类名 父类名 实例变量 方法。
(1)以@interface 接口开头
Person 当前类名 :
NSObject
当前类继承的父类
(2)以@end//结束 只有把类的接口定义内容写在开始和结束之间才有效.
(3) People 类名
(4) : 表示继承 后面表示它有父类
(5) NSObject 父类名
2.实现部分:对内实现行为,相当于功能的实现。
实现部分写在.m文件中
(1)以@implementation开头 以@end结束 实现内容必须写在中间才有效 (2)@implementation后的people是要实现的类(需要指定对哪些类实现)
实现部分标志:@
类和文件
类:@interface...@end 文件 @implemention…@end
文件:.h称为接口文件或者头文件 .m称为实现文件。
类和文件
类:@interface...@end 文件 @implemention…@end
文件:.h称为接口文件或者头文件 .m称为实现文件。
默认设置如下:
1.使用类命名文件
2..h文件管理类的接口部分,.m文件管理类的实现部分、
文件和类本质没有关系。为了方便管理实现封装性。
创建对象
创建对象分两步:分配内存空间和初始化
分配内存空间:根据类中声明的 实例变量 为对象分配内存,将所有的实例变量置为默认值0,并返回首地址
初始化:
为对象的实例变量设置初始值。
使用对象
指针存储对象的首地址,代指对象。OC中使用指针代指对象,进行操作。
Person *p =[Person alloc];先执行”=“ 右侧
1.[ person alloc] 返回值是对象的首地址,即对象。
2.p是跟对象同类型的指针变量,存储对象首地址,代指对象。
实例变量操作
- (CGFloat)getValuea:(CGFloat)a b:(CGFloat)b c:(CGFloat)c;
方法只.h文件中声明 没.m文件中定义实现
解决方法 :在.m文件里实现 或者在.h里删掉
OC中方法调用 采用消息发送机制[receiver message];
[receiver(接收者 是 类(+) 或者 对象(-)) message(消息)];