php物件導向

2021-09-01 16:06:44 字數 2338 閱讀 6766

<?php 

class site

function geturl()

function settitle($par)

function gettitle()

} $runoob = new site;

$taobao = new site;

$google = new site;

// 呼叫成員函式,設定標題和url

$runoob->settitle( "菜鳥教程" );

$taobao->settitle( "**" );

$google->settitle( "google 搜尋" );

$runoob->seturl( 'www.runoob.com' );

$taobao->seturl( 'www.taobao.com' );

$google->seturl( 'www.google.com' );

// 呼叫成員函式,獲取標題和url

$runoob->gettitle();

$taobao->gettitle();

$google->gettitle();

$runoob->geturl();

$taobao->geturl();

$google->geturl();

?>

1.建構函式

一種特殊的方法。主要用來在建立物件時初始化物件, 即為物件成員變數賦初始值,在建立物件的語句中與 new 運算子一起使用。

function __construct( $par1, $par2 )
2.析構函式

析構函式(destructor) 與建構函式相反,當物件結束其生命週期時(例如物件所在的函式已呼叫完畢),系統自動執行析構函式。

void __destruct ( void )
php 使用關鍵字extends來繼承乙個類,php 不支援多繼承,格式如下:

class child extends parent
php 對屬性或方法的訪問控制,是通過在前面新增關鍵字 public(公有),protected(受保護)或 private(私有)來實現的。

使用介面(inte***ce),可以指定某個類必須實現哪些方法,但不需要定義這些方法的具體內容。

介面是通過inte***ce關鍵字來定義的,就像定義乙個標準的類一樣,但其中定義所有的方法都是空的。

介面中定義的所有方法都必須是公有,這是介面的特性。

要實現乙個介面,使用implements操作符。類中必須實現介面中定義的所有方法,否則會報乙個致命錯誤。類可以實現多個介面,用逗號來分隔多個介面的名稱。

<?php

// 宣告乙個'itemplate'介面

inte***ce itemplate

// 實現介面

class template implements itemplate

public function gethtml($template)

', $value, $template);

}return $template;

}}

類中定義和使用常量的時候不需要使用 $ 符號

<?php

class myclass

}echo myclass::constant ;

$classname = "myclass";

echo $classname::constant ; // 自 5.3.0 起

$class1 = new myclass();

$class1->showconstant();

echo $class1::constant ; // 自 php 5.3.0 起

?>

宣告類屬性或方法為 static(靜態),就可以不例項化類而直接訪問。

靜態屬性不能通過乙個類已例項化的物件來訪問(但靜態方法可以)。

由於靜態方法不需要通過物件即可呼叫,所以偽變數 $this 在靜態方法中不可用。

靜態屬性不可以由物件通過 -> 操作符來訪問。

<?php

class foo

}print foo::$my_static . php_eol;

$foo = new foo();

print $foo->staticvalue() . php_eol;

?>

PHP物件導向

1 什麼是物件導向 起初,物件導向 是專指在程式設計中採用封裝 繼承 抽象等設計方法。可是,這個定義顯然不能再適合現在情況。物件導向的思想已經涉及到軟體開發的各個方面。如 物件導向的分析 ooa,object oriented analysis 物件導向的設計 ood,object oriented...

php物件導向

smarty自定義函式 作用 用於在模板被執行時為模板變數賦值 函式名稱 assign 引數 var 宣告變數名稱 字串 value 給該變數賦值 字串 tpl assign title this is title 實現自定義函式有兩種 1.註冊自定義函式 3.版本不支援 tpl register ...

php物件導向

一 寫出php的public protected private三種訪問控制模式的區別 public 公有,任何地方都可以訪問 protected 繼承,只能在本類或子類中訪問,在其他地方不允許訪問 private 私有,只能在本類中訪問,在其他地方不允許訪問 二 請用單態設計模式方法設計類滿足要求...