Advertisement

深入探讨多态

阅读量:

多态性这一概念源自希腊语,其含义为“具有多种形态”。在面向对象的软件开发中,多态性指的是子类对象能够以父类对象的身份被使用,相同的消息既可以传递给父类对象,也可以传递给子类对象。换句话说,在类层次结构的不同层级中,可以共享一个行为(方法)的名称,但每个层级中的具体类会根据自身需求来实现该行为。当对象接收到对应的消息时,系统会依据该对象所属的类动态地选择并调用该类中定义的具体实现方式。

多态性机制不仅提升了面向对象软件系统的灵活性,并进一步减少了信息重复,同时显著增强了软件的可重用性和可扩展性。当需要扩展系统功能并引入新的实体类型时,只需派生出与新实体相对应的新子类,并在新派生出的子类中定义符合其需求的方法即可。原有的代码无需进行任何修改,甚至无需重新编译原有程序(仅需对新增子类的源程序进行编译,并将其与原有程序进行连接)。

在Java语言中,多态主要有以下两种表现形式:

编译时多态----方法的重载(Overload)

所谓重载,指的是在同一个类中存在多个名称相同的方法,但这些方法的参数列表存在差异。由于在编译阶段即可明确具体调用哪一个方法,这种特性被归类为编译时多态。重载可视为一个类内部实现方法多态性的典型方式。

关于方法重载的定义: 在某一类中,若存在多个同名的方法(包括构造

全部评论 (0)

还没有任何评论哟~