1. 程式人生 > >PHP學習筆記--面向對象的三大特性之封裝性

PHP學習筆記--面向對象的三大特性之封裝性

查看 php學習 HP 是否 方法 成員 學習筆記 設置 獲取

 封裝性: 面向對象的三大特性之一
 *
 *  1. 就是把對象的成員(屬性,方法)結合成一個獨立的相同單位,並盡可能隱藏對象的內部細節
 *
 *   public  protected  
 *
 *   private 私有的, 用這個關鍵字修飾的成員,只能在對象內部訪問(只有用$this訪問),不能在對象外部使用
 *
 *   屬性可以封裝:
 *   		只要一個變量,需要在多個方法使用,就將這個方法聲明為成員屬性,可以直接在這個對象中的所有方法中使用
 *
 *   		成員屬性,就相當於這個對象中的全局變量
 *
 *   		成員屬性都會在方法中使用, 成員屬性值的變化其實就是在改變方法的執行行為, 也就是改變了對象的功能
 *
 * 		成員屬性的值如果不正常, 方法執行的功能也就不正常 了
 *
 * 		450ma--650mA --- 5A 
 *
 * 		3.8--4.2V  ---  220v
 *
 *		作用:不需要在對象外部改變或讀取它的值
 *
 *			1. 封裝
 *
 *			再提供一個公有的方法(經過方法對成員屬性進行賦值和取值就可以控制)
 *   方法也可以封裝:
 *
 *   	作用:
 *   		1. 使用private修飾使用其只能在內部使用
 *		2. 一個類中有100個方法, 封裝了95個(為另外的5個服務的方法), 只有5個方法可以使用
 *     	
 *      
 *      100成員屬性,都讓取值,值都不可以改值, 有個別的還不想讓人知道真實的值
 *
 *      和封裝有關的魔術方法:
 *
 *       __set():是直接設置私有成員屬性值時,自動調用的方法
 *       __get():是直接獲取私有成員屬性值時,自動調用的方法
 *       __isset(); 是直接isset查看對象中私有屬性是否存時自動調用這個方法
 *       __unset(); 是直接unset刪除對象中私有屬性時,自動調用的方法

PHP學習筆記--面向對象的三大特性之封裝性