4.OC中的类:
类的定义:具有相同(或相似)属性和行为抽象出来,并由类可以创建对象。
类的设计三要素:类名、属性、方法(功能)。
创建类的步骤:
1> 类的声明
//成绩类的声明
@interface Score :NSObject
{
属性
}
方法(功能)的声明
@end
注意点:类名首字母大写
由多个字母组成的标识号使用驼峰标识
@interface
@end
必须成对使用,且方法是声明只能写在声明里。
类的方法声明中不允许递归嵌套
2>类的实现
@implementation
方法的实现
@end
注意:类的实现中,只写方法的实现
5.对象的创建
由类创建对象的语句为 :
[类名 new];
对象创建完成后:返回对象地址
总结:在OC中,对对象的操作是由指针来完成的,并且[类名 new]每次都会创建新对象。例如:
类名 *变量名=[类名 new];
指针变量名->实例变量(成员变量);
例如:
// 创建车子对象
Car *c = [Car new];
c->wheels = 3;
6.OC的方法注意
方法只有声明,没有实现(经典错误)
方法没有声明,只有实现(编译器警告,但是能调用,OC的弱语法)
编译的时候:访问没有的成员变量直接报错,访问没有的方法,只是警告
7.方法
方法中以减号“-”开头的是对象方法,加号“+”的是类方法
1>不带参数的方法
// 方法声明
- (double)pi;
// 方法实现
- (double)pi
{
return 3.14;
}
方法调用
2>带一个参数的方法
设计一个计算平方的方法
// 方法声明
- (double)square:(double)number;
// 方法实现
- (double)square:(double)number
{
return number * number;
}
方法调用
3.带多个参数的方法
设计一个计算和的方法
// 方法声明
- (double)sumOfNum1:(double)num1 andNum2:(double)num2;
// 方法实现
- (double)sumOfNum1:(double)num1 andNum2:(double)num2
{
return num1 + num2;
}
方法调用
方法名注意:
冒号也是方法名的一部分
同一个类中不允许两个对象方法同名
|