Objective C Posing vs. Polymorphism / Method Overrriding

时间:2015-08-23 18:19:00

标签: ios objective-c macos

在了解了有关在Objective C中构建的更多内容之后,我无法理解构图和多态之间的区别,这是许多其他编程语言中使用的概念。

据我所知,在运行时使用冒充来拦截预先存在的类与多态,允许开发人员重新定义方法。

为了拦截现有的类与多态,在类级别和运行时使用冒充这两个概念之间的区别是严格用于重新定义方法,还是两者之间有一些重叠?

1 个答案:

答案 0 :(得分:3)

多态性保留了继承层次结构,而冒充则没有。

Posing在应用程序中普遍改变现有类的行为。

Polymorphism允许您修改子类中类的行为,但只有在创建子类的实例时才会出现新行为。

多态性是OO设计的核心,是整个OO系统中普遍存在的共同模式。

姿势造成了极大的脆弱性,随着时间的推移具有很高的维护成本,除了最极端的情况外,应该避免。