[ PHP ] – OOP 2 為什麼可以直接設定與取得類別內的屬性值?

這篇單純是伏筆,本來你以為設定屬性一定要透過 類別內的 方法來處理,但事實上是可以直接在生成類別後直接存取,這是為什麼呢?我們下一篇來為各位解答。

//類別
class People {
//屬性
	public $height;//身高
	public $weight;//體重
	public $sex;//姓別
//方法
	//設定身高為
	function set_height($height1) {
		$this->height = $height1;//這個類別的身高屬性設成 $height1 這個變數的內容值
	}
	//設定體重為
	function set_weight($weight1) {
		$this->weight = $weight1;//這個類別的體重屬性設成 $weight1 這個變數的內容值
	}
	//設定姓別為
	function set_sex($sex1) {
		$this->sex = $sex1;//這個類別的姓名屬性設成 $sex 這個變數的內容值
	}
	//取得身高值
	function get_height() {
    	return $this->height;
 	}
	//取得身高值
	function get_weight() {
    	return $this->weight;
 	}
	//取得姓別
	function get_sex() {
    	return $this->sex;
 	}
}
//以上已經建構好 people 這個類的藍圖(也可以說是建築的設計圖)
//以下要開始把 藍圖 實作出來(依照建築的設計圖建造出一個真實的大樓)
//以新生入學的使用情境來說 你一入學就會填一張 個人的基本資料
$jeff = new People();//生成一個實際的人附於到$jeff這個變數中 這樣 $jeff 就有 People中所有的屬性與方法
$jeff->set_height(170);//jeff 的身高是170 數字是不用加 單引號或雙引號
$jeff->set_weight(65);//jeff 的體重是65
$jeff->set_sex('male');//jeff 字串的話就要加 單引號或雙引號
//現在老師知道有jeff這個人 老師要將你填的資料唸給其它同學聽
echo 'jeff 的身高是:';
echo $jeff->get_height();
echo '<br>jeff 的體重是:';//<br>是斷行
echo $jeff->get_weight();
echo '<br>jeff 的姓別是:';
echo $jeff->get_sex();
$jeff->height=160;//疑?!為什麼可以直接設定身高的值?
echo '<br>jeff 的身高是:';
echo $jeff->height;//疑?!為什麼可以直接取得值?
//顯示結果
/*
jeff 的身高是:170
jeff 的體重是:65
jeff 的姓別是:male
jeff 的身高是:160
*/
!去下營經續永站本助幫能就下一點輕輕,話的您到助幫有章文的我果如 如果我的文章有幫助到您的話,輕輕點一下就能幫助本站永續經營下去!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。