php面相對象
Ⅰ php面向對象有什麼用
php程序編寫分總分兩種方式,分別為面向過程和面向對象,用兩者比較你會更容易理解些
以下資料庫操作為例:
面向過程:
$conn = mysql_connect('127.0.0.1', 'root', '123456') or die('連接不成功!');
mysql_select_db('test', $conn) or die('資料庫不存在!');
$queryid = mysql_query("select * from sort");
while ($rs = mysql_fetch_assoc($queryid)) {
echo $rs['name'], '<br>';
}
過程的代碼給人感覺比較亂,不易管理,以下實現以上代碼一樣的功能,但代碼清楚多了。
面向對象就是把常用的功能封裝為一個類,類由屬性和方法組成:
把以上過程代碼封裝成類,以文件形式保存為db.php
class db {
private $conn; //屬性
private $queryid; //屬性
//構造函數
public function db($host, $dbuser, $dbpasswd, $dbname) {
$this->conn = mysql_connect($host, $dbuser, $dbpasswd) or die('連接不成功!');
mysql_select_db($dbname, $this->conn) or die('資料庫不存在!');
}
//查詢方法
public function query($sql) {
$this->queryid = mysql_query($sql, $this->conn);
}
public function fetch_assoc() {
return mysql_fetch_assoc($this->queryid);
}
}
//在a.php文件中實例化,代碼使用變得簡結和容易理解,代碼的重用性
inclode('db.php');
$db = new db('127.0.0.1', 'root', '123456', 'test');
$db->query("select * from sort");
while ($rs = $db->fetch_assoc()) {
echo $rs['name'], '<br>';
}
Ⅱ php如何實現面向對象
通過引入類這個概念 然後用方法來實現功能
<?php
header('Content-type:text/html;charset=utf-8');
//面向對象
classDog{
//屬性
private$name='旺財';
private$age=2;
private$voice='咕咕。。';
//方法
publicfunctionrunToMe(){
echo$this->age,'歲的',$this->name,'正在向我跑來,尾巴還一搖一搖的。<br/>';
}
publicfunctiondrinkWater(){
echo$this->name,'正在喝水,還不時的發出「',$this->voice,'」的聲音。';
}
}
//實例化
$dog=newDog();
//調用方法
$dog->runToMe();
$dog->drinkWater();
//輸出:2歲的旺財正在向我跑來,尾巴還一搖一搖的。旺財正在喝水,還不時的發出///「咕咕。。」的聲音。
?>
Ⅲ php面向對象和面向過程的區別
1.面向過程就是你把代碼封裝成子過程或函數(procere),然後依次去做一件事情;
2.面向對象就是你把要做的事情抽象成對象,然後告訴具體的那一個對象去做。
3.面向對象三大特性(封裝,繼承,多態)使得在做復雜的事情的時候效率和正確率得到保證。
4.在實際的編程中「面向對象」和「面向過程」兩種開發思想一定是同時都用到了的,現在宣傳最多的「面向對象」實際上是以面向對象為主題,面向過程為輔助,往往過分了誇大其作用。
Ⅳ php面向對象怎麼理解
OOP 思想 MVC結構 你了解 M V C 分別代表什麼意思就行了,最簡單理解就是view頁面需要顯示什麼內容 交給controll 處理, controll 需要什麼數據 MODEL 進行資料庫處理提供 然後全部反饋給 controll ,完成處理後 把內容全部轉送給 view 頁面顯示
再簡單點就是 view 用來顯示 controll 用來控制處理 model 進行資料庫分析處理
OOP思想其實 簡單的說 把同一類型的全部看作一個容器,然後集中處理,通過介面處理數據後反饋給頁面
Ⅳ PHP真的能算是面向對象的語言嗎
面向對象三大特性:封裝,繼承,多態
php可以封裝對象,也可以繼承,同樣可以實現多態
多態是指指出重寫和重載,php子類可以重寫父類的方法,也可以通過方法的參數數量不同來重載方法,我覺得是面向對象語言
Ⅵ php中面向對象三大特徵是什麼
面向對象三大特徵是,封裝,繼承,多態。這樣可以很好的擴展,增加靈活性
Ⅶ 如何理解PHP面向對象程序設計
在php的面向對象編程中,總會遇到 class test{ public static function test(){ self::func(); static::func(); } public static function func(){} } 可你知道self和static的區別么? 其實區別很簡單,只需要寫幾個demo就能懂: Demo for self: class Car { public static function model(){ self::getModel(); } protected static function getModel(){ echo "This is a car model"; } } Car::model(); Class Taxi extends Car { protected static function getModel(){ echo "This is a Taxi model"; } } Taxi::model(); 得到輸出 This is a car model This is a car model 可以發現,self在子類中還是會調用父類的方法 Demo for static class Car { public static function model(){ static::getModel(); } protected static function getModel(){ echo "This is a car model"; } } Car::model(); Class Taxi extends Car { protected static function getModel(){ echo "This is a Taxi model"; } } Taxi::model(); 得到輸出 This is a car model This is a Taxi model 可以看到,在調用static,子類哪怕調用的是父類的方法,但是父類方法中調用的方法還會是子類的方法(好繞嘴。。) 在PHP5.3版本以前,static和self還是有一點區別,具體是什麼,畢竟都是7版本的天下了。就不去了解了。 總結呢就是:self只能引用當前類中的方法,而static關鍵字允許函數能夠在運行時動態綁定類中的方法。
Ⅷ php面向對象的概念理解.
我覺得沒必要去深究他的意思。
按我的理解,面向對象編程,主要是將我們實際生活中的對象經過抽象,將它定義成為一個類,通過類的屬性和方法來模擬生活中的這個對象。這樣使得程序更容易結構化、抽象起來更方便。
面向對象技術最初是從面向對象的程序設計開始的,
面向對象編程並不困難
它的出現以60年代simula語言為標志。80年代中後期,面向對象程序設計逐漸成熟,被計算機界理解和接受,人們又開始進一步考慮面向對象的開發問題。這就是九十年代以microsoft
visual系列oop軟體的流行的背景。
傳統的結構化分析與設計開發方法是一個線性過程,因此,傳統的結構化分析與設計方法要求現實系統的業務管理規范,處理數據齊全,用戶能全面完整地其業務需求。
傳統的軟體結構和設計方法難以適應軟體生產自動化的要求,因為它以過程為中心進行功能組合,軟體的擴充和復用能力很差。
對象是對現實世界實體的模擬,因面能更容易地理解需求,即使用戶和分析者之間具有不同的教育背景和工作特點,也可很好地溝通。
區別面向對象的開發和傳統過程的開發的要素有:對象識別和抽象、封裝、多態性和繼承。
對象(object)是一個現實實體的抽象,由現實實體的過程或信息牲來定義。一個對象可被認為是一個把數據(屬性)和程序(方法)封裝在一起的實體,這個程序產生該對象的動作或對它接受到的外界信號的反應。這些對象操作有時稱為方法。對象是個動態的概念,其中的屬性反映了對象當前的狀態。
類(class)用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。
由上分析不難看出,盡管oop技術更看中用戶的對象模型,但其目的都是以編程為目的的,而不是以用戶的信息為中心的,總想把用戶的信息納入到某個用戶不感興趣的「程序對象」中。
Ⅸ PHP是面相對象的語言嗎
是這樣的,或者說PHP不是純粹的面向對象,只是
基於對象
的
面向過程語言
,純粹的面向對象必須是支持封裝、繼承,
多態
(集中包含重載)的類實現。