php物件導向之一

2022-03-26 12:32:55 字數 1990 閱讀 4185

面向過程:以事件為中心,分幾個步驟去完成。不可擴充套件,html與php不分離

物件導向:自己作為指揮者,指揮別人去做。具有可擴充套件性,html和php**分離

物件:自然間形形色色存在的可以看得見的東西(其實這個也不會很準確),[在**中表現為]由**執行出來的效果

軟體工程的三個目標:1.重用性 2.靈活性 3.可擴充套件性

物件導向程式設計的特點:①封裝 ②繼承 ③多型

具有屬性和方法物件的抽象的描述

定義角度:

靜態描述:  就是我們熟悉的變數

動態描述(物件的功能):把動態描述寫成函式,在物件中宣告的函式叫做方法

所有的類都是從屬性 和方法 兩個方面去宣告,屬性和方法都是類中的成員,屬性我們又叫做物件的成員屬性,方法又叫做物件的成員方法.

成員屬性:在類中直接宣告的變數. 可以使用php中的標量型別和復合型別,所以也可以是其他類例項化的物件,在類中使用資源和空型別(null)沒有意義.

關於成員屬性的初始值一般情況是不賦的,大多情況都是在例項化物件後再給相應的成員屬性賦上初始值.

成員方法:在物件中宣告的函式叫做方法,

上述的成員屬性和成員方法和面向過程中的宣告變數與函式一樣,只不過多了一些關鍵字 public protected private等.

class classname

public 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 用來約束乙個方法的引數型別 不是基本資料型別,而是類 將類名放在...