多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作(摘自“Delphi4编程技术内幕”)。简单的说,就是一句话:允许将子类类型的指针赋给给父类类型的指针。
举一个最简单的例子,动物是一个统称,动物有很多种类,动物会吃、睡、行动。。。。但是每种动物都有自己的方式,即为多态
oc里面没有派生 也没有多继承 只能类拓展
不同对象以自己的方式响应相同的消息的能力叫做多态
多个类中存在同名方法不会冲突
同样的消息发给不同对象,导致的操作不同
就是父类的方法 子类的方法 子类重写了父类方法时候 这个方法可以通过父类调用 可以调用子类的这个方法 这个方法的调用是多态的 可以调用父类里面的 也可以调用子类里面重写的
魏神的讲解如下:
men 和women都继承了person
他们都是有个cry的方法
person cry 和men cry 还有women cry
这几个方法在c++里面的理解就是多态了
要是men这个子类不重写cry方法 就会默认是person中的cry
我们通过men来调用cry方法 就是子类的方法了 执行的是men的方法
这就体现了多态了 这个方法可以是调用父类中的 可以调用子类中的
他们都是有个cry的方法
person cry 和men cry 还有women cry
这几个方法在c++里面的理解就是多态了
要是men这个子类不重写cry方法 就会默认是person中的cry
我们通过men来调用cry方法 就是子类的方法了 执行的是men的方法
这就体现了多态了 这个方法可以是调用父类中的 可以调用子类中的
在c++中就是说指向父类的 也可以指向子类的