Web | Coding | Blog | SOHO

[Java]類別 class – 初次見面 (補充篇)

本篇將提到「函數成員相互呼叫」,「this 的使用」 作為補充


首先是函數成員的相互呼叫

Part 2  中的範例做示範與修改

class CRectangle {  //定義矩形類別
	//資料成員
	int width;  //寬
	int height; //長
	//函數成員
	int area(){   //計算面積
		System.out.println("面積= "+width*height);
		}
	int perimeter(){  //計算周長
		System.out.println("周長= "+2*(width+height);
		}
        int show_all(){  //在show_all 函數中 呼叫計算面積的函數與計算周長的函數
                System.out.println("寬= "+width+" ,長= "+height);
                area();  //呼叫計算面積的函數
                perimeter(); //呼叫計算周長的函數
                }

}
public class ch08_3 {

	public static void main(String[] args) {
		CRectangle book;   //宣告CRectangle類別的變數 book
		book= new CRectangle(); //建立物件

		book.width=10;  //給寬一個值
		book.height=5;  //給長一個值
		book.show_all(); //呼叫show_all()
	}
}

輸出結果:
寬= 10 ,長= 5
面積= 50
面積= 30

在類別中函數成員的程式碼敘述當中,直接加上類別中其他函數成員的函數名稱即可呼叫。


再來是 this 的使用:

加上this 的用途是強調,於程式碼當中可以這麼做:

this . 資料成員名稱 ;
this . 函數成員名稱 ;

使用上方剛修改後的範例作為this 的示範:

class CRectangle {  //定義矩形類別
	//資料成員
	int width;  //寬
	int height; //長
	//函數成員
	int area(){   //計算面積
		System.out.println("面積= "+this.width*this.height);
		}
	int perimeter(){  //計算周長
		System.out.println("周長= "+2*(this.width+this.height);
		}
        int show_all(){  //在show_all 函數中 呼叫計算面積的函數與計算周長的函數
                System.out.println("寬= "+this.width+" ,長= "+this.height);
                this.area();  //呼叫計算面積的函數
                this.perimeter(); //呼叫計算周長的函數
                }

}
public class ch08_4 {

	public static void main(String[] args) {
		CRectangle book;   //宣告CRectangle類別的變數 book
		book= new CRectangle(); //建立物件

		book.width=10;  //給寬一個值
		book.height=5;  //給長一個值
		book.show_all(); //呼叫show_all()
	}
}

this 代表 book

那麼一定會疑惑,那除了強調之外,沒有其他用途嗎?

在這邊舉另外一個簡單例子:

name(String book){
book=book;
}

如果在程式中,屬性的值與傳入的值都相同的話;兩者都會被認為是參數,所以book的值並不會被改變。

若改為以下則可以正常運作了:

name(String book){
this.book=book;
}

 

返回閱讀:類別 class – 初次見面 Part I  & Part 2 & 練習篇


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


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

Comments

comments

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


© 2017 4xCode™ | Design:SC 站長