中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java面向對象之多態的用法示例

發布時間:2021-12-30 15:22:01 來源:億速云 閱讀:162 作者:小新 欄目:編程語言

小編給大家分享一下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面向對象之多態的用法示例”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

怀化市| 永和县| 兰溪市| 孟津县| 新乡市| 阳曲县| 罗山县| 长海县| 荔波县| 五河县| 罗田县| 阿合奇县| 长丰县| 高碑店市| 盘锦市| 永兴县| 乐至县| 姜堰市| 阿城市| 雷波县| 江门市| 玉山县| 新蔡县| 大安市| 红安县| 怀宁县| 洞口县| 启东市| 金平| 庄浪县| 江北区| 灵璧县| 陇西县| 濮阳市| 深水埗区| 大竹县| 东台市| 台南县| 旌德县| 金乡县| 抚顺市|