标签:
1. 如何为类定义行为.
刚刚我们聊的是如何为类定义特征.
如何定义行为? 行为就事1个功能 也就事1个函数.
OC中把行为叫做方法. 实际上和函数是一样的 代表1个功能模块.
2. 为类定义无参数的方法.
类的方法也分为两个部分.
a. 方法的声明
1). 位置: 写在声明类的大括弧的外边.
2). 声明的语法:
- (返回值类型)方法名;
- (void)sayHi;
这个方法的名字就叫做sayHi;
b. 方法的实现.
1). 位置: 写在类的实现之中.
2). 实现的语法:
- (返回值类型)方法名
{
方法体;
}
c.方法的调用.
定义在类中的方法是属于类的. 而类是无法直接使用的.
所以,这个定义在类中的方法是无法直接调用的.
如果非要调的话.就得创建1个类的对象.
那么这个对象之中就拥有类模板中的所以的成员 实例变量、方法.
就可以通过对象来调用这个对象的方法.
调用语法:
[对象名 方法名];
[p1 sayHi];
3. 带1个参数的方法的声明和实现.
a. 方法的声明
1). 位置:
2). 语法:
- (返回值类型)方法名:(参数类型)参数名称;
- (void)eat:(NSString *)foodName;
需要牢牢的记住一点:
这个方法的名字叫做 eat:
b. 方法的实现:
1). 位置.
2). 语法
将声明拷贝过来 去掉分号 加对大括弧 将实现写在其中就可以了.
- (返回值类型)方法名:(参数类型)参数名称
{
}
c. 方法的调用
1). 要通过对象名来调用.
2). 调用语法
[对象名 方法名:实参];
4). 带多个参数的方法
a. 声明:
1).位置.
2).语法
- (返回值类型)方法名:(参数类型)参数名称 :(参数类型)参数名称 :(参数类型)参数名称;
- (int)getSum:(int)num1 :(int)num2;
这个方法的名字叫做getSum: :
b. 实现:
1). 位置.
2). 语法
拷贝方法的声明,去掉分号 加对大括弧 将实现写在其中就可以了.
- (返回值类型)方法名:(参数类型)参数名称 :(参数类型)参数名称 :(参数类型)参数名称
{
方法的实现.
}
c. 调用
1).必须要通过对象名来调用.
2).调用的语法
[对象名 方法名:实参 :实参 :实参];
3. 带参数的方法名的规范.
1). 遵守的原则. 调用的时候看起来是一句连贯的话.
让调用者知道这个参数的作用是什么.
2). 规范:
如果方法只带1个参数. 那么方法名:
- (返回值类型) 方法名With:(参数类型)参数名称;
如果有多个参数:
- (返回值类型) 方法名WithXX:(参数类型)参数名称 andXX:(参数类型)参数名称;
1. 同1个类可以创建N多个对象.
对象与对象之间是没有影响的.1个对象的熟悉的值是根本不会影响另外1个对象的属性的值的.
同1个类的多个对象之间毫无关系.
唯一的关系 是他们都是根据同1个类模板创建出来
他们具有相同的成员 属性、方法.
属性的值相互之间是不影响的.
2. 在方法的实现之中.可以直接访问这个类的成员变量.
访问的是那1个对象的成员变量呢?
这个方法是通过那1个对象来调用的.那么这个方法中访问的成员变量就事那个对象的.
谁来调用这个方法,这个方法中的成员变量就事谁的.
3. 当我们声明1个对象.如果没有为对象的字段赋值.
这个时候对象的字段是有默认值的.
如果字段的类型是基本数据类型 那么默认值是0.
如果字段的类型是OC指针类型. 那么默认值就是nil
如果字段的类型是C指针类型 那么默认值是NULL
如何声明、实现类
如何创建对象
如何访问对象的成员
方法的声明和实现
如何调用方法.
标签:
原文地址:http://www.cnblogs.com/qjrz/p/4649895.html