面向過程:以事件為中心,分幾個步驟去完成。不可擴充套件,html與php不分離
物件導向:自己作為指揮者,指揮別人去做。具有可擴充套件性,html和php**分離
物件:自然間形形色色存在的可以看得見的東西(其實這個也不會很準確),[在**中表現為]由**執行出來的效果
軟體工程的三個目標:1.重用性 2.靈活性 3.可擴充套件性
物件導向程式設計的特點:①封裝 ②繼承 ③多型
具有屬性和方法物件的抽象的描述
定義角度:
靜態描述: 就是我們熟悉的變數
動態描述(物件的功能):把動態描述寫成函式,在物件中宣告的函式叫做方法
所有的類都是從屬性 和方法 兩個方面去宣告,屬性和方法都是類中的成員,屬性我們又叫做物件的成員屬性,方法又叫做物件的成員方法.
成員屬性:在類中直接宣告的變數. 可以使用php中的標量型別和復合型別,所以也可以是其他類例項化的物件,在類中使用資源和空型別(null)沒有意義.
關於成員屬性的初始值一般情況是不賦的,大多情況都是在例項化物件後再給相應的成員屬性賦上初始值.
成員方法:在物件中宣告的函式叫做方法,
上述的成員屬性和成員方法和面向過程中的宣告變數與函式一樣,只不過多了一些關鍵字 public protected private等.
class classnamepublic function method()
類的例項化就是物件.
//例項化$mod = new classname();
"$變數名"是通過類建立乙個物件的引用名稱,後面通過這個引用來訪問物件中的成員
"new"表示要建立乙個新的物件
"類名稱"表示新物件的型別
"引數"指定了類的構造方法用於初始化物件的值
如果類中沒有定義構造方法,php會自動的建立乙個不帶引數的預設的構造方法.
乙個類可以例項化對個物件,每個物件彼此獨立,互不影響,屬性和方法不會共享,(如同一張玻璃杯設計圖,可以按照這個圖製造成千上萬的玻璃杯,但是乙個玻璃杯被打碎的時候,其他的可沒有被打碎),也就是它們同屬乙個玻璃杯類.
物件中成員的訪問就兩個 成員屬性 成員方法
對於成員屬性也就兩個操作:1:賦值操作 2.獲取成員屬性值的操作
$引用名 new 類名稱([引數列表]); //物件例項化$引用名->成員屬性=值; //給成員屬性賦值
echo $引用名->成員屬性; //獲取成員屬性的值
$引用名->成員方法; //訪問成員方法
如果物件的成員不是靜態的static,那麼唯一的訪問形式就是"物件引用名->屬性"(沒有$符號),和"物件引用名->方法名()".
在物件的外部我門可以例項化物件,用物件的引用來訪問物件的成員.但是在物件的內部要訪問物件的成員時,怎麼辦?難道要在內部例項化,答案是否定的.這裡要引入乙個特殊的物件引用"$this".
$this代表本物件,在物件內部的成員方法中訪問成員要使用 $this->屬性 和 $this->方法.只能在成員方法中使用
①如果宣告類的時候沒有顯示的宣告它,類中都會預設存在乙個沒有引數列表並且內容為空的構造方法.如果顯示的宣告它,那麼預設的構造方法將不會存在.
②當例項化乙個物件時,會被自動呼叫一次,就是每使用new關鍵字例項化乙個物件,就呼叫一次.不能主動的通過物件的引用去呼叫構造方法.
③通常用來對成員屬性賦初始值.
④php5以前的版本必須要方法名和類名相同
⑤同乙個類只能有乙個構造方法
public function __construct()
①允許在小輝衣閣物件之前執行的一些特定操作(關閉檔案,釋放結果集)
②沒有任何引數
當堆記憶體中的物件失去他的訪問引用時,就會被認為是垃圾物件,並進行**.而析構方法正是在垃圾**程式**物件前呼叫的.
public function __destruct()
PHP物件導向 特徵之一 繼承
header content type text html charset utf 8 classzixingche public functionshache public functionjieshao 繼承 擴充套件父類的內容,注意只能繼承public和protected修飾的內容,而priv...
物件導向基礎之一
記錄一些基礎知識,以備後查。1.類與例項 物件是乙個自包含的實體,用一組可識別的特性和行為來標識。object oriented programming。類就是具有相同的屬性和功能的物件的抽象的集合。class是表示定義類的關鍵字。第一,類名稱首字母要大寫。第二,對外公開的方法需要用public修飾...
PHP物件導向學習筆記之一 基礎概念
1 if false 等效於 if true 因為非空字串是true 2 檢查資料型別 is array is object is string is null is integer 3 php5 引入類的型別提示 type hint 用來約束乙個方法的引數型別 不是基本資料型別,而是類 將類名放在...