-(void) setOrigin:(XYPoint *)pt
{
if(!origin)
origin = [[XYPoint alloc] init];
origin.x = pt.x;
origin.y = pt.y;
}
当用到类XYPoint的其他定义属性时,@class XYPoint就不够了,这个时候需要 #import “XYPoint.h”,引用头文件。
覆写:在子类中定义相同返回值,相同函数名,相同参数的方法,来改写子类中的方法。
//ClassA 父类:
-(void) initVra
{
x =100;
}
//ClassB 子类:
-(void) initVra
{
x =1000;
}
最终打印出来的x值是1000,而不是100.
创建子类的三个用处:
1,希望继承一个函数,也许加入了一些新的方法或者实例变量。
2,希望创建一个类的特别版本(如图形对象的特定类型)。
3,希望通过覆写一个或多个方法来改变父类的默认行为。覆写必须函数返回类型、函数名、参数类型全部一样。