OBJ-C上的“多态”真的仅仅是指不同的类可以有相同的方法名称吗?该如何处理

OBJ-C上的“多态”真的仅仅是指不同的类可以有相同的方法名称吗?
我看到OBJ-C多态的定义是:
Obiective-C中实现“多态”相同的名称、不同的类。使不同的类共享相同的方法名称的能力。
/* 举个栗子:
Fraction类有print方法
Complex类有print方法
他们都有相同的print方法,但他们是不同的类
这就叫作多态
CAO!是这样理解吗?
*/


TMD我真的想确定一下,是我理解错了,还是真的这样?

从其它编程语言上,多态一般是指:
同个类,有多个相同的名称的方法,但是,他们的签名不同。
调用该方法时,会根据方法参数自动匹配不同的方法。
这才叫多态。


WTH?but.....OBJ-C的这种所谓的多态,只是指不同的类,但他们分别可以用一样方法名称。
那这叫什么多态,完全没有意义的多态!
------解决方案--------------------
引用
同个类,有多个相同的名称的方法,但是,他们的签名不同。
调用该方法时,会根据方法参数自动匹配不同的方法。
这才叫多态。


概念上你应该是理解错了,针对上面的这句话,在其它编程语言中,这不叫“多态”,应该叫“方法的重载”
如果是问“重载”的话,我可以告诉你,在objective-c中没有方法的“重载”

再说一下“多态”的概念。多态体现在类继承,是指多个子类同时继承同一个父类。在某些场合子类需要以父类的身份出现。比如在某些设计模式中,需要在运行时动态实例化某个类,而在类代码中,我们不知道最终实例的是哪个类,这时我们需要用父类来占位。这种情况下我们称之为多态。


------解决方案--------------------

不知道你从哪里看到的例子。多态是跟语言无关的。
------解决方案--------------------
引用:
引用
同个类,有多个相同的名称的方法,但是,他们的签名不同。
调用该方法时,会根据方法参数自动匹配不同的方法。
这才叫多态。


概念上你应该是理解错了,针对上面的这句话,在其它编程语言中,这不叫“多态”,应该叫“方法的重载”
如果是问“重载”的话,我可以告诉你,在objective-c中没有方法的“重载”

再说一下“多态”的概念。多态体现在类继承,是指多个子类同时继承同一个父类。在某些场合子类需要以父类的身份出现。比如在某些设计模式中,需要在运行时动态实例化某个类,而在类代码中,我们不知道最终实例的是哪个类,这时我们需要用父类来占位。这种情况下我们称之为多态。


请区分重载(overload)和覆盖(override) 。