本文章來給大家介紹在php面向?qū)ο蟮囊恍┯梅ㄔ敿?xì),這里主要是講到php中的類、對象學(xué)習(xí)筆記,希望對各位同學(xué)會有所幫助。
面向?qū)ο笏枷?/strong>
面向?qū)ο蟪绦蛟O(shè)計(Object-Oriented Programming,OOP)是一種程序設(shè)計范型,同事也是一種程序開發(fā)方法。它將對象作為程序的基本單元,將程序和數(shù)據(jù)封裝其中,以提高軟件的重用性、靈活性和可擴(kuò)展性。
面向過程、面向?qū)ο笠约昂瘮?shù)式編程被人們稱為編程語言中的三大范式(實際上,面向過程與面向?qū)ο蠖纪瑢儆诿钍骄幊蹋侨N不同編碼和設(shè)計風(fēng)格。其中面向?qū)ο蟮暮诵乃枷胧菍ο蟆⒎庋b、可重用性和可擴(kuò)展性。
面向?qū)ο笫且环N更高級、更抽象的思維方式,面向過程雖然也是一種抽象,但面向過程是一種基礎(chǔ)的抽象,面向?qū)ο笥质墙⒃诿嫦蜻^程以上的更高層次的抽象,因此面向?qū)ο蟮睦斫庖簿筒皇悄敲慈菀琢恕?/p>
類是我們隊一組對象的描述
在php里,每個類的定義都以關(guān)鍵字class開頭,后面跟著類名,緊接著一對花括號,里面包含有類成員和方法的定義,如下代碼所示:
- class person{
- public $name;
- public $gender;
- public function say(){
- echo $this->name."is ".$this->gender;
- }
- }
接下來就可以產(chǎn)生這個類的實例,代碼如下:
- $student = new person();
- $student->name="Tome";
- $student->gender= "male";
- $student->say();
- $teacher= new person();
- $teacher->name="kati";
- $teacher->gender= "female";
- $teacher->say();
這段代碼則實例化了person類,產(chǎn)生了一個student對象和teacher對象的實例。實際上也就是從抽象到具體的過程。
對類和對象的一些理解:
類定義了一系列的屬性和方法,并提供了實際的操作細(xì)節(jié),這些方法可以用來對屬性進(jìn)行加工。
對象含有類屬性的具體值,這就是類的實例化。正是由于屬性的不同,才能區(qū)分不同的對象。在上面例子里,由于student和teacher的性別和姓名不一樣,才得以區(qū)分開二人。
類與對象的關(guān)系類似一種服務(wù)于被服務(wù)、加工與被加工的關(guān)系,具體而言,就如同原材料與流水線的關(guān)系,只需要在對象上調(diào)用類中所存在的方法,就可以對類的屬性進(jìn)行加工,并且展現(xiàn)其功能。
打印student對象,代碼如下:
- print_r((array)$student);
- var_dump($student);
序列化對象,實例代碼如下:
- $str = serialize($student);
- echo $str;
- file_put_contents('store.txt',$str);
- //輸出結(jié)果:0:6:"person":2:{s:4:"name";s:3:"Tom";s:6:"gender";s:4:"mail";}
反序列化對象,實例代碼如下:
- $str = file_get_contents('store.txt');
- $student = unserialize($str);
- $student->say();
新聞熱點
疑難解答