物件導向基礎

2021-08-18 03:17:42 字數 3496 閱讀 8849

面向過程:

舉例:假如你是公司內一名員工,今天又個任務需要在公司組裝一批電腦,那你就需要採購、討價還價、運輸回公司、開始組裝、佈線網路、除錯機器、完成。

也就是說,面向過程就是具體化的實現,細節明確。

物件導向:

假如你是公司總裁,你布置給一名員工組裝一批電腦的任務。完畢。也就是。物件導向就是抽象化的執行具體還是由那名員工來完成。而細節方面,總裁不需要去考慮。這樣的好處是:在有管理高層的公司,可以協調作業,而沒有管理的公司就會亂作一團。

封裝隱藏物件的屬性和實現細節,僅對外公開介面,控制在程式中屬性的讀和修改的訪問級別:將抽象得到的資料和行為(或功能)相結合,形成乙個有機的整體,也就是將資料的源**進行有機的結合,形成「類」,其中資料和函式都是類的成員。繼承

繼承是從乙個基類得到乙個或多個類的機制。

繼承自另乙個類的類被稱為該類的子類。這種關係通常用父子關係來比喻。子類將繼承父類的特性,這些特性由屬性和方法組成子類可以增加父類之外的新功能,因此子類也被稱為父類的「擴充套件」。

多型多型是指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 ...