1. 程式人生 > >多型和動態繫結--定義

多型和動態繫結--定義

package test;


class Employee{
	
	public String getSalary(){
		return "基本工資";
	}
	
}

class Manager extends Employee{
	public String getSalary(){
		return "基本工資、"+"獎金";
	}
	
}

class CEO extends Employee{
	public String getSalary(){
		return "基本工資、"+"獎金、"+"分紅";
	}
	
}
public class Test3 {
	
	public static void main(String[] args) {

		Employee[] employee = new Employee[3];
		employee[0] = new Employee();
		employee[1] = new Manager();
		employee[2] = new CEO();
		
		//一個的物件變數(例如,變數e)可以表示多種實際型別的現象稱為多型;
		//e可以表示Employee \Manager \CEO 的物件( 多型)
		for (Employee e : employee) {
			//在執行時能夠自動的選擇呼叫哪個方法的現象稱為動態繫結
			//首先呼叫自己的getSalary()方法,自己未定義該方法則呼叫父類的同名方法
			System.out.println(e.getSalary());
		}
	}

}
執行結果:
基本工資
基本工資、獎金
基本工資、獎金、分紅