对java多态作用的代码分析
2023-04-04 10:32:21
多态(Polymorphism)属于java面向对象三个特点之一,其前提是包装形成独立体,独立体之间存在继承关系,从而产生多态机制。多态性是指同一行为具有多种不同的表现形式或形式的能力。Java多态最重要的作用是增加代码的可扩展性,那么java多态作用具体是什么?以下是编写代码的方法分析java多态作用。
让我们先了解一个业务背景:请设计一个描述主人喂宠物场景的系统。首先,在这个场景中应该有“宠物对象”,宠物对象应该有吃的行为,还需要一个“主人对象”,主人对象应有喂食行为,请看代码://宠物狗 public class Dog { String name; public Dog(String name){ this.name = name; } ///吃的行为 public void eat(){ System.out.println(this.name + “啃肉骨头!"); } } //主人 public class Master { //喂养行为 public void feed(Dog dog){ ///主人喂宠物,宠物就吃 System.out.println(“主人开始喂食”); dog.eat(); System.out.println(“主人喂完儿”); } } public class Test { public static void main(String[] args) { ///创建狗的对象 Dog dog = new Dog(二哈); ///创建主人对象 Master master = new Master(); //喂养 master.feed(dog); } }
运行结果如下:
假设主人家里又来了一只宠物猫,该怎么办?请看代码: //主人 public class Master { //喂养行为 public void feed(Dog dog){ ///主人喂宠物,宠物就吃 System.out.println(“主人开始喂食”); dog.eat(); System.out.println(“主人喂完儿”); } //喂养行为 public void feed(Cat cat){ ///主人喂宠物,宠物就吃 System.out.println(“主人开始喂食”); cat.eat(); System.out.println(“主人喂完儿”); } } public class Test { public static void main(String[] args) { ///创建狗的对象 Dog dog = new Dog(二哈); ///创建主人对象 Master master = new Master(); //喂养 master.feed(dog); ///创建猫对象 Cat cat = new Cat(汤姆); //喂养 master.feed(cat); } }
运行结果如下:
在软件开发过程中,有一个开发原则:开闭原则。开闭原则“开”,是指组件功能的扩展是开放的,允许其功能扩展;在开关原则上“闭”,修改原始代码是封闭的,即修改原始代码对外部使用是透明的。上述程序在扩展过程中违反了OCP原则,因为在扩展过程中修改了已经写好的Master类别。如何解决这个问题?多态可以解决,请看代码: //宠物类 public class Pet { String name; ////吃的行为 public void eat(){ } } //宠物猫 public class Cat extends Pet{ public Cat(String name){ this.name = name; } ////吃的行为 public void eat(){ System.out.println(this.name + "在吃鱼!"); } } //宠物狗 public class Dog extends Pet{ public Dog(String name){ this.name = name; } ///吃的行为 public void eat(){ System.out.println(this.name + “啃肉骨头!"); } } //主人 public class Master { //喂养行为 public void feed(Pet pet){ ///主人喂宠物,宠物就吃 System.out.println(“主人开始喂食”); pet.eat(); System.out.println(“主人喂完儿”); } } public class Test { public static void main(String[] args) { ///创建狗的对象 Dog dog = new Dog(二哈); ///创建主人对象 Master master = new Master(); //喂养 master.feed(dog); ///创建猫对象 Cat cat = new Cat(汤姆); //喂养 master.feed(cat); } }
运行结果如下图所示:
通过对上述内容的研究,我们可以看到多态联合方法在开发中的应用,java多态作用是java多态作用它可以降低程序的耦合度,提高程序的扩展性。所谓的多态性是指同一行为作用于不同的对象,最终的性能结果是不同的。主要要求是对象可以灵活切换,灵活切换的前提是解耦,解耦依赖于多态性机制。我相信在上述代码的具体分析之后,你尤其是java学习者,java学习者java零基础刚入门的新手,是的对java多态作用有了更深入的了解。希望朋友们能在实践中体会到java多态的作用和好处。