PHP編程之旅----OOP

<?php
/*
 * 類:具有相同或相似屬性的一類事物的概括,它是抽象的。
 * 對象:某個類具體的實例。
 * 類與對象:類是對象的描述,對象是類的具體事物。
 */
//	創建一個類:person
	class person{
		public $name;
		public $age;
		
//		PHP通過名稱_construct來識別構造函數,構造函數是沒有返回值的
		public function _construct($name,$age){
			$this->name = $name;
			$this->age = $age;
		}
		
//		類似於Java的初始化成員屬性方法
		public function setName($name1){
			$this->name=$name1;
		}
		public function getName(){
			return $this->name;
		}
		public function setAge($age1){
			if($age1>0&&$age1<120){
				$this->age=$age1;
			}else{
				$this->age = 18;
			}	
		}
		public function getAge(){
			return $this->age;
		}
		
//		person類的一些行爲
		public function eat(){
			echo 'eat';
		}
		public function work(){
			echo 'working';
		}
		public function sleeping(){
			echo 'sleeping';
		}
		
		
//		關於靜態屬性和靜態方法
//		在靜態類方法中不能訪問非靜態屬性(變量)。 
//		在類外部 : 類名::類方法名 或者對象名-〉類方法名
//		在類內部:  類名::類方法名  或者 self::類方法名
//		靜態變量只能定義在類中,使該類的所有對象共享該變量,任何一個該類的對象去訪問他時,取到的數值都是一樣的。
		public static $num=8; 
//		靜態方法只能操作靜態變量
		public static function print_num(){
			return person::$num;
		}
	}
?>
<?php
	require_once("./person.php");
	$person_one = new person();
	$person_one->name = 'me';//爲對象中的name屬性賦值
	$person_one->age = '19';
	$person_one->eat();//調用方法
	
	$person_three = new person();
	$person_three->setName('tom');
	$person_three->setAge('14');
	echo $person_three->getName();
	echo $person_three->getAge();
	
//	靜態變量的調用
	echo person::$num;
//	靜態方法的調用
	echo person::print_num();
?>



發佈了40 篇原創文章 · 獲贊 15 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章