您好,登錄后才能下訂單哦!
小編給大家分享一下Java面向對象之多態的用法示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
/** 題目: (孩子,學生) 吃 水果(蘋果,葡萄,芒果,菠蘿) 思路: 1. 抽象出類 : {孩子(Baby),學生(Student)}, 水果(Fruit){蘋果(Apple),葡萄(Grape),芒果(Mango)} 2. 找出類的關系: 水果 -> (孩子,學生) (蘋果,葡萄,芒果) 是 水果的分類 3. 找出屬性: 孩子,學生(姓名,水果引用) 4. 找出方法: 孩子,學生都吃(eat)水果 子類->父類的轉換 作用 :解耦 也就是降低類與類之間的耦合度 提供可擴展性 */public class Polymorphism4 { public static void main(String[] args) { //實例化一個Baby Baby baby = new Baby("李明"); //實例化一個學生 Student stu = new Student("張濤"); //實例化一個蘋果 和 一個葡萄 Apple apple = new Apple("紅富士"); Grape grape = new Grape("黑葡萄"); Mango mango = new Mango("大芒果"); PineApple pineApple = new PineApple("菠蘿"); //李明吃水果 baby.eat(apple); System.out.println(baby.getName() + " 吃了 " + baby.getFruit().getName()); baby.eat(grape); System.out.println(baby.getName() + " 吃了 " + baby.getFruit().getName()); baby.eat(mango); System.out.println(baby.getName() + " 吃了 " + baby.getFruit().getName()); baby.eat(pineApple); System.out.println(baby.getName() + " 吃了 " + baby.getFruit().getName()); //張濤吃水果 stu.eat(apple); System.out.println(stu.getName() + " 吃了 " + stu.getFruit().getName()); stu.eat(grape); System.out.println(stu.getName() + " 吃了 " + stu.getFruit().getName()); stu.eat(mango); System.out.println(stu.getName() + " 吃了 " + stu.getFruit().getName()); stu.eat(pineApple); System.out.println(stu.getName() + " 吃了 " + stu.getFruit().getName()); } }class Baby { private Fruit fruit; private String name; public Baby(String name) { this.name = name; } public String getName() { return this.name; } public Fruit getFruit() { return this.fruit; } //吃水果 public void eat(Fruit fruit) { this.fruit = fruit; } }class Student { private Fruit fruit; private String name; public Student(String name) { this.name = name; } public String getName() { return this.name; } public Fruit getFruit() { return this.fruit; } //吃水果 public void eat(Fruit fruit) { this.fruit = fruit; } }class Fruit { private String name; public Fruit(String name) { this.name = name; } public String getName() { return this.name; } }class PineApple extends Fruit { public PineApple(String name) { super(name); } }class Apple extends Fruit { public Apple(String name) { super(name); } }class Grape extends Fruit { public Grape(String name) { super(name); } }class Mango extends Fruit { public Mango(String name) { super(name); } }
以上是“Java面向對象之多態的用法示例”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。