2.类定义与实现:
BenzCar.h
@interfaceBenzCar:Car
{
NSString *pName;
NSString *id;
}
@property NSString*pName;
-(void)getGas:(int) n;
-(void)setTo:(int) n over: (int) d; //调用的时候用 [benzCar setTo:1 over: 2]
@end
BenzCar.m
@implement BenzCar
@synthesize pName;
-(void)getGas:(int) n
{
}
-(void) setTo:(int)n over: (int)d
{
//d,n
}
@end
3.数据类型(见下图):
支持类型转换:f2 = (float) f3/f1;
4.运算符以及运算规则与C大致相同
5.逻辑流程语句与C大致相同,for,if,while,switch,break,continue关键字等
6.方法内部的局部变量与静态变量(static)和C相同。
7.self关键字相当于C++this指针
8.调用对象的方法,常常用[]方式,.的方式一般对于参数较少的时候使用。
9.@class className;用于帮助编译器识别文件中的className,如果要使用className的方法,需要用#import“className.h”
10.方法覆盖与java相同,自动覆盖父类方法(方法名、参数、返回类型完全相同)
11.super关键字表示父类(java中)
12. release方法实际是调用对象的dealloc方法来释放内存,类似C++析构函数,常常使用的代码释放:
-(void) dealloc
{
先释放子对象的内存;
//然后:
[super release];
}
13.多态的问题:
首先id变量声明没有*,和C++一样,可以实现动态绑定对象,从而实现多态
见下图
支持枚举enum enumName{};