物件導向與面向過程的區別
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.類成員的訪問許可權的控制,通過訪問許可權修飾符來控制。可以在類成員的前面新增訪問...