面向過程:
舉例:假如你是公司內一名員工,今天又個任務需要在公司組裝一批電腦,那你就需要採購、討價還價、運輸回公司、開始組裝、佈線網路、除錯機器、完成。
也就是說,面向過程就是具體化的實現,細節明確。
物件導向:
假如你是公司總裁,你布置給一名員工組裝一批電腦的任務。完畢。也就是。物件導向就是抽象化的執行,具體還是由那名員工來完成。而細節方面,總裁不需要去考慮。這樣的好處是:在有管理高層的公司,可以協調作業,而沒有管理的公司就會亂作一團。
封裝隱藏物件的屬性和實現細節,僅對外公開介面,控制在程式中屬性的讀和修改的訪問級別:將抽象得到的資料和行為(或功能)相結合,形成乙個有機的整體,也就是將資料的源**進行有機的結合,形成「類」,其中資料和函式都是類的成員。繼承
繼承是從乙個基類得到乙個或多個類的機制。
繼承自另乙個類的類被稱為該類的子類。這種關係通常用父子關係來比喻。子類將繼承父類的特性,這些特性由屬性和方法組成。子類可以增加父類之外的新功能,因此子類也被稱為父類的「擴充套件」。
多型多型是指oop能夠根據使用類的上下文來重新定義或改變類的性質或行為,或者說介面的多種不同的實現方式即為多型。把不同的子類物件都當做父類來看,可以遮蔽不同子類物件之間的差異,寫出通用的**,做出通用的程式設計,以適應需求的不斷變化。
類(class)
類是對某個物件的定義。它包含有關物件動作方式的資訊,包括它的名稱、方法、屬性和事件。實際上它本身並不是物件,因為它不存在於記憶體中。當引用類的**執行時,類的乙個新的例項,即物件,就在記憶體中建立了。雖然只有乙個類,但能從這個類在記憶體中建立多個相同型別的物件。
物件(object)
物件是一件事、乙個實體、乙個名詞,乙個實體。可以想象有自己的標識的任何東西,物件是類的例項化。
比如:汽車、人、房子、桌子…萬物皆物件。
而,類是物件的抽象定義,也就是說,如果物件是電腦,那類可以建立出許多是電腦的物件(也就是類中可以有很多物件)。
成員(filed)
成員是用於描述類的某方面的性質,成員也叫字段。它與一般的php變數非常相似,只有一些細微差別。
屬性(attribute)
通過方法來訪問和操作字段,一方面可以保護字段,同時還允許訪問公共字段一樣訪問資料。
<?php
//建立類格式:修飾符 class 類名 {}
class
computer
//建立一台電腦,也就是物件(例項)的宣告
//格式: 變數 = new 類名()
//new computer()這個過程叫例項化(例項化乙個物件)
// $computer1叫做物件的引用。
$computer1 = new computer();
var_dump($computer1);
?>
注意:
var_dump()
能列印出型別
print_r()
只能打出值
echo()
是正常輸出…
需要精確除錯的時候用var_dump()
;
一般檢視的時候用print_r()
另外 ,echo
不能顯示陣列 其餘2個可以。
成員(字段)的新增:
<?php
class
computer
//建立乙個物件並例項化。
//->表示指向某個成員的意思,記住是沒有$符號的。
$computer1 = new computer();
//給成員字段賦值
$computer1->_name='聯想';
//取值
echo
$computer1->_name;
?>
方法的建立:<?php
class
computer
//如果不加修飾符,預設就是public
public
function
_run
() }
//建立乙個物件並例項化。
//->表示指向某個成員的意思。
$computer1 = new computer();
$computer1->_run();
?>
方法建立完之後可以進行傳參:
<?php
class
computer
//如果不加修飾符,預設就是public
public
function
_run
($_who)
}//建立乙個物件並例項化。
//->表示指向某個成員的意思。
$computer1 = new computer();
$computer1->_run('hhh');
?>
構造方法__construct()
:
構造方法也是方法,只是一種特殊的方法。而方法名必須和類名一致,並且不需要像普通方法那樣必須呼叫才能執行,只需要例項化即可完成呼叫過程。
一般,構造方法用於初始化的工作。
<?php
class
computer
}//只需例項化就可以執行構造方法
new computer();
?>
析構方法__destruct()
:
它的用途是在整個類使用完畢後執行,一般用於清理記憶體中的物件(指令碼執行完畢的時候會自動清理)。
如果有指令碼執行完畢後沒有清理的,比如資料庫資料等,就有必要用析構方法。
<?php
class
computer
//普通方法
public
function
_run
() //析構方法
public
function
__destruct
() }
$computer1 = new computer();
echo
$computer1->_run();
?>
物件導向基礎
什麼是物件導向程式設計?就是把萬事萬物都抽象成為物件,一切都是物件!什麼是抽象?抽象是從眾多的事物中抽取出共同的 本質性的特徵,而捨棄其非本質的特徵。例如蘋果 香蕉 生梨 桃子等,它們共同的特性就是水果。得出水果概念的過程,就是乙個抽象的過程。要抽象,就必須進行比較,沒有比較就無法找到在本質上共同的...
物件導向基礎
我想在這個園子裡面的新人,還是 掌門人 都對 物件導向 這幾字非常的耳熟了或者有一定的了解。但當乙個初學都在學習物件導向的時候,會遇到一些瓶頸和麻煩,認為物件導向非常的難以理解。那麼本章節主要是讓大家了解物件導向,並系統地掌握物件導向程式設計的技能點,消除初學者的疑惑.1 如何去學習物件導向的程式設...
物件導向基礎
uml是一種標準的圖形化建模語言,是物件導向分析與設計的一種標準表示 類圖是用來描述類以及類與類之間關係的一種uml圖 類圖描述的關係包括關聯,範化,依賴,實現等 只要類與類之間存在關聯關係就可以用普通關聯來表示 比如 描述人和計算之間的關係 帶 的一端表示關聯的發起方,箭頭表示關聯的方向 0.1 ...