嗨,我是目标的新手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支持的遗传类型
答案 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
类型为Rectangle
,Shape
类型为Square
。 Rectangle
的父类是Rectangle
。 Shape
的父类是Square
,而它的“祖父母”类是Rectangle
。
(正方形是一种特殊的矩形)。正方形不需要任何额外的属性。事实上,它需要的属性少于矩形。)
分层继承是父类具有多个子类的位置。例如,shape类可能具有Rectangle,Circle和Triangle的子类。
Objective-C支持两种类型的继承。
Shape
继承是另一回事。这是一个类可以从多个父母继承特征的地方。 Objective-C不支持多重继承。对于那个问题,Swift或Java都没有。
(BTW术语多级继承和层次继承在业界并没有广泛使用。我必须在维基百科上查找它们才能理解它的区别。我想不出一种面向对象的语言不支持多级继承和层次继承。)