多态:允许不同的类定义相同的方法。
动态类型:程序直到执行时才能确定所属的类。
动态绑定:程序直到执行时才能确定实际要调用的方法。
id类型:一种通用的对象类型,也就是说,id可以用来存储属于任何类的对象,让不同类的输出不用特定设定,通用一个id类型就好。
多态的出现时为了让不同的类能使用同明的方法。比如add,这个让程序的可读性大大提高,也降低了编程难度。add就是+,哪种类型的+都用add标明方法,清晰易懂。
动态类型与动态绑定是为了解决随多态的便利而引起的弊端,有了动态类型与动态绑定,不用去考虑输出中的add是哪个类型的add,会自动判定。
而id类型的出现就是为了更好的承接动态类型与动态方法出来的返回值。让对应add的sum也只有一个,输出时只需要输出sum,不需要在各个类中自行定义sum。