多态的三种表现形式 什么是多态?面向对象程序设计为什么要引入多态的特性?使用多态有什么优点?
什么是多态?面向对象程序设计为什么要引入多态的特性?使用多态有什么优点?
多态性是多个状态。
例如,有一个超类,它有两个子类,子类1和子类2。
超类有一个方法func(),它由两个子类重写。
然后我们可以定义一个超类引用obj来指向一个子类对象,比如超类obj=new subclass 1();然后我们调用目标函数当使用()方法时,它将被动态绑定,即obj其实际类型的func()方法,即子类1的func()方法。
同样,您可以编写超类obj=new subclass 2();目标函数()实际调用子类2的func()方法。
由于子类重写父类的方法,然后指向引用父类的子类对象,所以调用方法时会进行动态绑定,称为多态性。
多态性在程序扩展中起着非常重要的作用。例如,如果你想有一个子类3,你需要改变很多少。如果使用配置文件,则可以保持源代码不变。
多态有什么有什么作用?
多态性包括编译时多态性和运行时多态性。第一种是通过方法重载;第二种是通过方法覆盖(覆盖父方法的子类)。第一种是调用方法时不区分参数类型,程序会自动执行相应的方法,比如加法运算,可以加int或double,都是相同的方法名。第二种是动态绑定。当使用父类引用指向子类对象,然后调用父类中的方法时,不同的子类将显示不同的结果。这样的功能具有极好的可扩展性。如果你玩过网络游戏,你应该知道游戏中有不同的角色。它们都有一个父类。当他们做同样的动作时,效果会不同。例如,跑步、巫师跑步和士兵跑步将不一样。这是因为它们都涵盖了父类的运行方法,并且每个方法都有自己的实际情况,表现出多态性。如果有一天您想添加另一个角色,只需编写另一个类来继承父类并覆盖正在运行的方法。其他代码不需要修改,所以可维护性也很好。这是一个小程序,也许你没有意识到多态性的强度效应。事实上,当谈到多态性时,它是面向接口的编程。它与特定的类无关。例如,如果不使用多态性,如果不实例化对象,则需要更新它。如果那天你改变了要求怎么办?是不是又要换了?这是不好的,所以可以使用多态性来提出那些需要相似的,然后继承它们。这样,你需要在将来扩展,而你只是继承。很简单。我们需要看一下代码才能更深入地理解它。有一个问题正在讨论中。
多态的三种表现形式 实现多态的三种方式 简述实现多态的两种方式
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。