标签:
面向对象的核心就是对象,那怎么创建对象?
OC中述事物通过类的形式体现,类是多个同种类型事物的抽象,概念上的定 义。
生活中描述事物无非就是描述事物的名称
/属性
和行为
。
事物名称(类名):人(Person) 属性:身高(height)、年龄(age) 行为(功能):跑(run)、打架(fight)
OC中用类来描述事物也是如此,拥有相同(或者类似)属性
(状态特征)和行为
(能干什么事)的对象都可以抽像成为一个类
定义类其实在定义类中的成员(成员变量和成员方法)
一般名词都是类(名词提炼法)
+ 小明在公车上牵着一条叼着热狗的狗
格式
注意:
@implementation MyClass
- (id)initWithString:(NSString *)aName
{
//写代码处
}
+ (MyClass *)myClassWithString:(NSString *)aName
{
//写代码处
}
@end
格式
特征
示例 :
//声明没有返回值的方法 - (void)method;
//声明有返回值的方法 - (int)method;
//声明有返回值有参数的方法 - (int)method: (int)var;
//声明有返回值有多个参数的方法 - (int)method: (int)var1 andVar2: (int)var2;
- 实现
+ 必须卸载以@implementation开头,@end之间
+ 在声明的后面加上{}即表示实现
+ 将需要实现的代码写在{}中
---
2.类方法声明和实现
- 格式
+ 将对象方法-号变为+号
- 特征
+ 类方法以+开头 如+(void)put;
+ 类方法只能由类来调用
+ 类方法中不能访问实例(成员)变量,因为类方法由类来调用,并没有创建存储空间 来存储类中的成员变量。
- 类方法的好处:
+ 不依赖于对象,执行效率更高;
+ 能用类方法解决的问题,尽量使用类方法;
- 类方法的场合:
+ 当方法内部不需要使用到成员变量时,可以改为类方法
+ 类方法一般用于编写工具方法
- 示例
//声明没有返回值的方法 + (void)method;
//声明有返回值的方法 + (int)method;
//声明有返回值有参数的方法 + (int)method: (int)var;
//声明有返回值有多个参数的方法 + (int)method: (int)var1 andVar2: (int)var2;
- 实现
+ 必须卸载以@implementation开头,@end之间
+ 在声明的后面加上{}即表示实现
+ 将需要实现的代码写在{}中
---
3.对象方法和类方法区别
- 对象方法以-号开头, 类方法以+号开头
- 对象方法只能通过`对象`调用, 类方法只能通过`类`调用
- 对象方法可以和类方法重名
- 类方法中不能访问成员变量(实例变量),对象方法中可以访问
- 类方法的效率比对象方法高
- 类方法中可以调用类方法, 当不能`直接`调用对象方法. 对象方法中可以调用类方法也可以直接调用对象方法
格式
特征
类方法的好处:
类方法的场合:
示例
//声明没有返回值的方法 + (void)method;
//声明有返回值的方法 + (int)method;
//声明有返回值有参数的方法 + (int)method: (int)var;
//声明有返回值有多个参数的方法 + (int)method: (int)var1 andVar2: (int)var2;
---
2.类方法实现
+ 必须卸载以@implementation开头,@end之间
+ 在声明的后面加上{}即表示实现
+ 讲需要实现的代码写在{}中
---
3.对象方法和类方法区别
- 对象方法以-号开头, 类方法以+号开头
- 对象方法只能通过`对象`调用, 类方法只能通过`类`调用
- 对象方法可以和类方法重名
- 类方法中不能访问成员变量(实例变量),对象方法中可以访问
- 类方法的效率比对象方法高
- 类方法中可以调用类方法, 当不能`直接`调用对象方法. 对象方法中可以调用类方法也可以直接调用对象方法
---
标签:
原文地址:http://www.cnblogs.com/zhoudaquan/p/5014660.html