Web | Coding | Blog | SOHO

[Java]第七章:函數(多載篇)

何謂多載?

多載 (overloading)

  1. 函數名稱相同,引數個數不同
  2. 引數型態不同,引數個數相同

相似功能的函數,以相同的名稱來命名之;透過不同的引數個數,或是不同的型態,
來執行相對應的功能。

以下例子做示範說明:(引數型態不同,引數個數相同)

首先在主程式分別宣告不同資料型態的變數a、b、c、d

int a=2, b[]={1,2,3};
		float c=3;
		double d=3.14;

建立四個相同名稱的函數 show,引數個數同為一個,而型態不同

public static void show(int i)
public static void show(int arr[])
public static void show(float i)
public static void show(double i)

因此當在主程式呼叫函數時,將會執行相對應之型態的函數;
舉例來說:

show(a) ; a 為整數型態 int ,因此將會對應到引數為整數型態的函數

public static void show(int i)

show(b) ; b為整數型態的陣列,因此對應到引數為陣列整數型態的函數

public static void show(int arr[])

以下為完整範例程式碼:


public class ch07_9 {

	public static void main(String[] args) {
		int a=2, b[]={1,2,3};
		float c=3;
		double d=3.14;
		show(a);
		show(b);
		show(c);
		show(d);

	}
	public static void show(int i){
		System.out.println("值(a)="+i);
	}
	public static void show(int arr[]){
		System.out.print("值(b)=");
		for(int i=0;i<arr.length;i++)
		System.out.print(arr[i]+" ");
	}
	public static void show(float i){
		System.out.println("\n值(c)="+i);
	}
	public static void show(double i){
		System.out.println("值(d)="+i);
	}

}


再來的範例示範:(函數名稱相同,引數個數不同)

這次在主程式直接呼叫函數,並設值。

show();
		show(3);
		show('A',5);

在函數的部分,擁有相同名稱卻有不同個數的引數:

public static void show( )   //無引數
public static void show(int n)  //一個引數
public static void show(char ch,int n)  //兩個引數

透過引數個數的不同,對應到應該呼叫的函數


以下為完整範例程式碼:


public class ch07_9_2 {

	public static void main(String[] args) {
		show();
		show(3);
		show('A',5);

	}
	public static void show(){
		System.out.println("no");
	}
	public static void show(int n){
		for(int i=0;i<n;i++)
			System.out.print("*");
		System.out.println("");
	}
	public static void show(char ch,int n){
		for(int i=0;i<n;i++)
			System.out.print(ch);
	}

}


參考書籍:Java 7 教學手冊
Java 學習日誌 (點此閱讀所有 Java日誌)


如果您喜歡本站的文章,也歡迎將文章分享轉貼並註明出處;
另外還未按讚粉絲專頁的朋友,也可以動動手點擊追蹤最新的文章唷:

Comments

comments

如果您喜歡本站的文章,也歡迎將文章分享轉貼並註明出處;另外還未按讚粉絲專頁的朋友,也可以動動手點擊追蹤最新的文章唷:


© 2017 4xCode™ | Design:SC 站長

歡迎來到SC站長網站

 

本站文章不再更新,新文章將發表至

4 x ‘s Space 網站

 

謝謝您一直以來的支持,我們新網站見~

 

SC站長網站文章也會將慢慢轉移至新網站,

新網站連結 4-x.tw 點此前往,或點擊上方圖案)