摘要:面向對象萬事萬物皆對象面向對象英語,縮寫是軟件開發方法。面向對象是一種對現實世界理解和抽象的方法,是計算機編程技術發展到一定階段后的產物。
面向對象
萬事萬物皆對象
面向對象(英語:Object-oriented programming,縮寫:OOP)是軟件開發方法。面向對象的概念和應用已超越了程序設計和軟件開發,擴展到如數據庫系統、交互式界面、應用結構、應用平臺、分布式系統、網絡管理結構、CAD技術、人工智能等領域。面向對象是一種對現實世界理解和抽象的方法,是計算機編程技術[1] 發展到一定階段后的產物。
類 ? 定義了一件事物的抽象特點。類的定義包含了數據的形式以及對數據的操作
對象 ? 是類的實例。
php 類創建一個簡單的類
實例化對象類
類的控制訪問
public(公有):公有的類成員可以在任何地方被訪問。
protected(受保護):受保護的類成員則可以被其自身以及其子類和父類訪問。
private(私有):私有的類成員則只能被其定義所在的類訪問。
類的屬性與方法屬性-> 就是類里邊的變量
方法-> 類里邊的方法
aa(); ?>類的常量
const 關鍵字
class MyClass { const constant = "常量值"; function show() { echo self::constant; } } echo MyClass::constant ;類的構造方法和析構方法
類的繼承以及final
extends 關鍵字
aa(); ?>
final 關鍵字
aa(); ?>調用父類構造方法
parent 關鍵字
static關鍵字
命名空間
namespace 必須放在代碼的第一行
以下類型會受到命名空間的影響
類(包括抽象類,traits),接口,函數,常量
簡單調用命名空間的類
use va; var_dump(new a());
重命名
use va as a2; var_dump(new a2());導入函數
導入函數
類的自動加載
__autoload()函數 php內置的
后期的靜態綁定 魔術變量
class Test{ private $abc = ""; public function setAbc( $val ){ $this->abc = $val; } public function getAbc( $val ){ $this->abc; } } $test = new Test(); $test->setAbc("abc"); var_dump($test->getAbc());
__set
__get
class Test{ private $abc = ""; public function __set( $name,$val ){ $this->$name = $val; } public function __get( $name ){ $this->$name; } } $test = new Test(); $test->abc = "1234567"; var_dump($test->abc)
isset
class Test{ private $abc = "abc"; public function __isset($val){ return isset($test->$val) ? true : false; } } $test = new Test(); var_dump(isset($test->abc));
__unset
class Test{ private $abc = "abc"; public function __unset($val){ echo("__unset:" . $val); unset($this->$val); } } $test = new Test(); unset($test->abc);
__call
class Test{ public function __call($func,$cs){ echo($func);//方法名 print_r($cs);//傳入的參數 } } $test = new Test(); $test->go(1,ok);
__callStatic
class Test{ public static function __callStatic($func,$cs){ echo($func);//方法名 print_r($cs);//傳入的參數 } } Test::go();
__invoke 當對象被當作函數調用時執行的
class Test{ public function __invoke($func){ var_dump($func); } } $test = new Test(); $test("asadasd");
__toString 當你打印對象的時候執行
class Test{ public function __toString(){ return "hello...."; } } $test = new Test(); echo($test);對象拷貝和類型約束
淺拷貝
class A{ public $age = 10; public $name = ""; public $name = null; } $a = new A(); $b = $a; $b->age = 1; var_dump($a->age);
深拷貝
class A{ public $age = 10; public $name = ""; public $name = null; } $a = new A(); $b = clone $a; $b->age = 1; var_dump($a->age);
類型約束
class A{ public $name = ""; public function go(){ echo "12345678900987654321"; } } function text(A $a){ $a->go(); } text(new A());Trait關鍵字
php單繼承 只能繼承一個類
trait Bt{ public function a(){ echo "aaa"; } public function b(){ echo "bbb"; } public function c(){ $this->a(); $this->b(); } } class Text{ use Bt; } $test = new Test(); $test->c();接口類和抽象類以及設計模式
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30667.html
摘要:二面向對象有什么特征面向對象的主要特征有抽象繼承封裝和多態。析構函數析構函數是在引入的,它的作用與調用時機和構造函數剛好相反,它在對象被銷毀時自動執行。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優質的PHP面試內容。PHP中面向對象常考的知識點有以下7點,我將會從以下幾點進行詳細介紹說明,幫助你更好的應對PHP面試常考的面向對象相關的知識點和考題。整個面向對象文章的結構涉...
摘要:很多情況下,通常一個人類,即創建了一個具體的對象。對象就是數據,對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個人類,即創建了一個具體的對象。對象就是數據,對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:很多情況下,通常一個人類,即創建了一個具體的對象。對象就是數據,對象本身不包含方法。類是相似對象的描述,稱為類的定義,是該類對象的藍圖或原型。在中,對象通過對類的實體化形成的對象。一類的對象抽取出來。注意中,對象一定是通過類的實例化來的。 showImg(https://segmentfault.com/img/bVTJ3H?w=900&h=385); 馬上就要到七夕了,離年底老媽老爸...
摘要:面試專欄正式起更,每周一三五更新,提供最好最優質的面試內容。繼上一篇面試常考內容之面向對象發表后,今天更新面向對象的最后一篇。面向對象的主要特征為封裝繼承多態。為了提高內聚性減少引起變化,單一原則是低耦合高內聚的面向原則上的引申。 PHP面試專欄正式起更,每周一、三、五更新,提供最好最優質的PHP面試內容。繼上一篇PHP面試常考內容之面向對象(2)發表后,今天更新面向對象的最后一篇(3...
摘要:一面向對象的概念什么是面向對象世間萬物皆對象,抽象的也是對象,一切可見或不可見都是對象對象的基本組成對象包含兩個部分對象的組成元素是對象的數據模型,用于描述對象的數據又稱為對象的屬性,或者對象的成員變量對象的行為是對象的行為模型,用于描述對 一、面向對象的概念 1.1 什么是面向對象(object oriented) ?????世間萬物皆對象,抽象的也是對象,一切可見或不可見都是對象 ...
閱讀 3222·2021-11-23 09:51
閱讀 3566·2021-11-09 09:46
閱讀 3673·2021-11-09 09:45
閱讀 2949·2019-08-29 17:31
閱讀 1867·2019-08-26 13:39
閱讀 2726·2019-08-26 12:12
閱讀 3624·2019-08-26 12:08
閱讀 2243·2019-08-26 11:31