跳出面向对象思想(二) 多态
原文 简述 多态一般都要跟继承结合起来说,其本质是子类通过覆盖或重载(在下文里我会多次用到覆盖或重载,我打算把它简化成覆重,意思到就好,不要太纠结这种名词。)父类的方法,来使得对同一类对象同一方法的调用产生不同的结果。这里需要辨析的地方在:同一类对象指的是继承层级再上一层的对象,更加泛化。 举个例子: Animal -> Cat Animal -> Dog Animal.speak() // I'm an Animal Cat.speak() // I'm a Cat Dog.speak() // I'm a Dog 此处Cat和Dog虽然不是同一种对象,但它们算是同一类对象,因为他们的父类都是Animal。种和类的表达可能不是很对,其实我也不知道谁更大一点,在文章中我打算用这样的符号来表示两者区别:^和^^ ^ 表示他们是同一类 ^^ 表示他们同种同类 Animal -> Cat Animal -> Dog Cat kitty, kate Dog lucky, lucy 我们可以这么说: kitty ^^ kate 同种同类,他们都是猫 kitty ^ luc...


