物件導向2

2022-08-13 09:21:15 字數 1855 閱讀 5231

物件導向與面向過程的區別

1面向過程:就是將乙份工作給乙個人,讓他自己去分成幾個步驟去完成。

2物件導向:就是將乙份工作交給許多人,每個人去完成乙個小任務,最後將許多小任務彙總起來。

物件導向的基本概念:

類和物件:

類:舉例==》人就是乙個類,班級也可以說是乙個類,類是有許多物件組成的乙個集合。

通常,類一般包含兩大方面的資訊{1:屬性;2:方法}

物件:人這個類中具體到哪乙個人,這個具體的人就是乙個物件。

//定義乙個類

class renlei

}物件導向的語法:

1、定義類:在定義類的語法中只有下面的三種**;

(1)、定義屬性(變數);

(2)、定義方法(函式);

(3)、定義常量(類常量);

2、建立類的物件:

1、$物件名 = new 類名();

2、可變類名

$變數名1 = 「類名」;

$物件名 = new 變數名1();

3物件名 = new self;

「self」只能在類的內部使用,它值得是這個類的本身

4、通過物件建立物件

$物件名1 = new 類名();

$物件名2 = new 物件名1;

5、使用物件(3個方法)

(1)使用屬性

(2)使用方法

(3)使用常量

類中成員:(屬性、方法、類常量)

在類中的屬性一般分為一般屬性和靜態屬性,同樣方法也可分為一般方法和靜態方法

一般屬性:

屬性就是放在乙個類裡面的變數

定義形式:

形式1:var $v1; //定義但不賦值

形式2:var $v1 = 2; //在定義的同時給他賦值,需要注意的是,給他賦的值只能是一

直接的值或者是乙個常量,不能是乙個變數,也不能是乙個式子

形式3:public $v1;//跟形式一其實是一樣的 var 可以用 public代替

形式4:public $v1 = 2;//同上

使用形式:

$物件->屬性名; 在這裡的屬性名前面不加$符號。

一般方法:

定義 :跟定義函式幾乎相同:function 方法名(裡面可以放引數){

}呼叫:$物件名->方法名(可以加引數);//方法的前面可以加修飾詞,一般都用public,這樣zhi公共的都可以使用

$this關鍵字:

$this是乙個「偽物件」,它代表當前所屬類的當前物件。

靜態屬性:

在定義屬性時,在前面加上關鍵字「static」,此時這個屬性就是乙個靜態屬性。

形式:static $v1 = 「屬性值」;

靜態屬性只是屬於類的,而不是屬於物件的。

靜態屬性的呼叫:靜態屬性呼叫時要用雙冒號「::」

形式:類::$靜態屬性名;

靜態方法:

跟靜態屬性相同,在方法的前面加上關鍵字static這個方法就是乙個靜態方法

形式:類::靜態方法名();

需要注意的是$this在靜態方法中是不能使用的,在靜態方法中也不能呼叫非靜態的方法

self:代表當前類:

同樣的在方法裡輸出 return new self;

在呼叫這個方法的時候,就能得到乙個物件;這個類的物件

構造方法:

構造方法的方法名是固定的,只能是 __construct();

構造方法只能是一般方法,不能是靜態方法

構造方法在例項化乙個物件的的時候就已經存在,只是預設的不顯示而已

該方法中使用$this來對屬性賦值

析構方法:

在php檔案執行完畢後銷毀物件,預設不寫;就是銷毀物件,

用unset() 也可以銷毀物件

物件導向2

6 static關鍵字 用法 是乙個修飾符,用於修飾成員 當成員被靜態修飾後,就多了乙個呼叫方式,除了可以被物件呼叫外,還可以直接被類名呼叫。類名.靜態成員 static特點 static成員 也叫 類變數 1 隨著類的載入而載入 也就是說 靜態會隨著類的消失而消失。說明它的生命週期最長 2 優先於...

物件導向2

一.昨日內容回顧 1.匿名函式 lambda 引數 返回值 def chi return 飽了 lambda 飽了 2.sorted 排序 sorted iterable,key function,reverse false 3.filter 篩選 filter function,iterable ...

物件導向 2

1.物件導向的三大特性 封裝 繼承 多型。一 封裝 1.封裝的學習就是學習類成員的訪問許可權的控制。是設計類的時候需要考慮的問題。概念 通過對類中的成員的訪問許可權的控制,實現對外部類的訪問的可見和隱藏的控制的過程。2.類成員的訪問許可權的控制,通過訪問許可權修飾符來控制。可以在類成員的前面新增訪問...