1.
Ø
Ø
1. 类的声明
1)
Ø
Ø
Ø
#import
// 类的声明
@interface Car : NSObject
{
}
- (void)run; // 跑的行为
@end
2)
Ø
Ø
Ø
3)
@public可以让Car对象的wheels和speed属性被外界访问
4)
加上:NSObject的目的是让Car类具备创建对象的能力
2. 类的实现
// 类的实现
@implementation Car
- (void) run
{
}
@end
3. 创建对象
1)
// 主函数
int main()
{
}
2)
Ø
Car *c = [Car new];
用一个指针变量c指向内存中的Car对象
Ø
跟用指向结构体的指针访问结构体属性一样,用->
c->wheels = 3;
c->speed = 300;
4. 创建多个Car对象
Ø
Car *c1 = [Car new];
c1->wheels = 4;
Car *c2 = [Car new];
c2->speed = 250;
[c1 run];
Ø
Car *c1 = [Car new];
c1->wheels = 4;
c1->speed = 250;
Car *c2 = c1;
c2->wheels = 3;
[c1 run];
5. 面向对象封装的好处
Ø
Ø
6. 对象与函数参数
Ø
Ø
u
u
2.
1. @interface和@implementation的分工
u
u
2. 常见错误
l
l
l
l
l
l
3. 语法细节
l
l
l
l
4. OC方法和函数的区别
l
l
l
l
5. OC的方法注意
l
l
l
6. @implementation
Ø
@implementation Car : NSObject
{
}
- (void) run
{
}
Ø
3.
设计一个Caculator计算器类,它拥有计算的功能(行为)
1. 不带参数的方法
u
// 方法声明
- (double)pi;
// 方法实现
- (double)pi
{
}
2. 带一个参数的方法
u
// 方法声明
- (double)square:(double)number;
// 方法实现
- (double)square:(double)number
{
}
3. 带多个参数的方法
u
// 方法声明
- (double)sumOfNum1:(double)num1 andNum2:(double)num2;
// 方法实现
- (double)sumOfNum1:(double)num1 andNum2:(double)num2
{
}
4. 方法名注意
l
l
4.
l
[Car
l
[ [Car