目标c支持的继承

时间:2017-06-19 12:46:08

标签: ios inheritance

嗨,我是目标的新手c我正在阅读目标c中的继承概念。阅读教程指向的教程。我发现目标C支持多级继承。但是,无论我现在实现什么,它似乎是客观的c也支持分层继承。我们可以在下面的代码中看到:

@interface Shape : NSObject

{
    CGFloat area;
}
@end

@interface Square : Shape
{
    CGFloat length;
}
@end

@interface Rectangle : Shape
{
    CGFloat length;
    CGFloat breadth;
}
 @end

在这种情况下,请帮助我理解目标c支持的遗传类型

2 个答案:

答案 0 :(得分:0)

目标c不支持多重继承。您可以参考此链接Objective C programming guide

虽然您可以使用协议模仿多重继承的功能,但目标c中没有官方支持多重继承。

答案 1 :(得分:0)

多级继承是您拥有几代课程的地方:

<input type="hidden" name="_token" value="{{ csrf_token() }}">

在上面的示例中,基类是shape。 @interface Shape : NSObject { CGFloat area; } @end @interface Rectangle : Shape { CGFloat length; CGFloat breadth; } @end @interface Square : Rectangle { } @end 类型为RectangleShape类型为SquareRectangle的父类是RectangleShape的父类是Square,而它的“祖父母”类是Rectangle。 (正方形是一种特殊的矩形)。正方形不需要任何额外的属性。事实上,它需要的属性少于矩形。)

分层继承是父类具有多个子类的位置。例如,shape类可能具有Rectangle,Circle和Triangle的子类。

Objective-C支持两种类型的继承。

Shape继承是另一回事。这是一个类可以从多个父母继承特征的地方。 Objective-C不支持多重继承。对于那个问题,Swift或Java都没有。

(BTW术语多级继承和层次继承在业界并没有广泛使用。我必须在维基百科上查找它们才能理解它的区别。我想不出一种面向对象的语言不支持多级继承和层次继承。)