物件導向思想介紹
oop:object oriented program物件導向程式設計。
物件導向三大特性
封裝 繼承 多型
類與物件
類:是用於描述「某一些具有共同特徵」的物體的概念,是某一類物體的總稱。
物件:是指乙個具體的「物體」,該物體隸屬於某個「類別」(類)。
物件建立的基本形式
$物件名
1 = new
類名(); //物件名就是變數名;類是應該定義過了
類中成員
屬性方法
類常量$this是乙個「偽物件」,代表當前所屬類的當前物件。
靜態屬性
靜態屬性的使用:
通過特殊的語法:::(雙冒號語法,也叫範圍解釋符)
如果在乙個方法的前面加上static關鍵字修飾,則就變成了靜態方法。
靜態方法同樣隸屬於類,而不是隸屬於具體物件。使用方法跟靜態屬性類似:
類名::靜態方法名
();從理念上,可以認為,靜態方法是只隸屬於類,而為所有物件所「共有」。
注意1 $this在靜態方法中不能使用。
2 靜態方法中不應呼叫非靜態方法。
構造方法
構造方式是類中的乙個「特殊」方法,其作用是在例項化乙個物件的同時,給該物件的屬性賦值,使之一建立完成,就具有了其本身的特有資料(屬性值)。
1,該方法名字是固定的,為:
__construct();
2,該方法必須是普通方法(不能是靜態方法)
3,通常該方法應該是
public
4,通常該方法中使用
$this
這個關鍵字來對屬性進行賦值
5,當new
類名()
的時候,其實是在呼叫該構造方法
6,如果乙個類中定義了構造方法,則例項化該類時就會呼叫該方法,且例項化時的引數需要跟構造方法的引數匹配
構造方法是「建立」物件的時候會自動呼叫。
析構方法是「銷毀」物件的時候會自動呼叫。
系統方法通常用於在銷毀物件的時候來「清理資料」(打掃戰場)——如果需要,就可以利用這個機會去處理。
通常,php程式結束後,所有物件都會自動銷毀(其實屬於php內部的垃圾**機制)
繼承:乙個類從另乙個已有的類獲得其特性,稱為繼承。
派生:從乙個已有的類產生乙個新的類,稱為派生。
繼承和派生,其實只是從不同的方向(角度)來表述,本質上就是乙個事情。
父類/子類:已有類為父類,新建類為子類。父類也叫「基類」,子類也叫「派生類」
單繼承:乙個類只能從乙個上級類繼承其特性資訊。php和大多數物件導向的語言都是單繼承模式。c++是多繼承。
擴充套件:在子類中再來定義自己的一些新的特有的特性資訊(屬性,方法和常量)。沒有擴充套件,繼承也就沒有意義了
在類中的成員,通常都可以在前面加上以下3個修飾符:
public:公共的,共有的,公開的
protected:受保護的
private:私有的,
物件導向介紹
物件導向是一種思想,是基於面向過程而言的,就是說物件導向是將功能等通過物件來實現,將功能封裝進物件之中,讓物件去實現具體的細節 這種思想是將資料作為第一位,而方法或者說是演算法作為其次,這是對資料一種優化,操作起來更加的方便,簡化了過程。物件導向有三大特徵 封裝性 繼承性 多型性,其中封裝性指的是隱...
物件導向(介紹)
請用程式描述如下事情 stu a stu b stu c defstu intro stu 自我介紹 for key,value in stu.items print key s,value d key,value stu intro stu a stu intro stu b stu intro ...
物件導向介紹
什麼是物件導向,什麼是面向過程,它們的區別就是語法不一樣。什麼是函式 函式在程式中就是方法。面向過程 函式,程式是右n個函式組成 物件導向 程式由物件組成,物件是由函式和變數組成。物件導向有一句話 萬事萬物皆物件。什麼是物件導向,什麼是面向過程,它們的區別就是語法不一樣。什麼是函式 函式在程式中就是...