1、聲明一個類并初始化
<?php
class phpClass {
? ? var $var1;
? ? var $var2;
? ? function myfunc ($arg1, $arg2) {
? ? ? ? echo? $this->var1."? ".$this->var2."? ".$arg1."? ".$arg2;
? ? ? ? echo "\n";
? ? }
}
$obj1 = new phpClass;
$obj1->var1="name";
$obj1->var2="yanhe";
$obj1->myfunc("kk",1)
?>
2.構(gòu)造函數(shù)和析構(gòu)函數(shù)
<?php
class MyConstructableClass {
? ? var $name;
? ? function __construct($par1) {
? ? ? ? print("構(gòu)造函數(shù)");
? ? ? ? print("\n");
? ? ? ? $this->name = $par1;
? ? }
? ? function log(){
? ? ? ? echo "log:".$this->name;
? ? ? ? print("\n");
? ? }
? ? function __destruct() {
? ? ? ? print "銷毀 " . $this->name . "\n";
? ? }
}
$obj = new MyConstructableClass("yanhe");
$obj->log()
?>
3.繼承
PHP 使用關(guān)鍵字 extends 來繼承一個類,PHP 不支持多繼承,格式如下:
class Child extends Parent {
? // 代碼部分
}
4.方法重寫
如果從父類繼承的方法不能滿足子類的需求,可以對其進(jìn)行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。
5.接口
<?php
//聲明接口
interface iTemplate
{
? ? public function setVariable($name, $var);
? ? public function getHtml($template);
}
// 實現(xiàn)接口
class Template implements iTemplate
{
? ? private $vars = array();
? ? public function setVariable($name, $var)
? ? {
? ? ? ? $this->vars[$name] = $var;
? ? }
? ? public function getHtml($template)
? ? {
? ? ? ? foreach($this->vars as $name => $value) {
? ? ? ? ? ? $template = str_replace('{' . $name . '}', $value, $template);
? ? ? ? }
? ? ? ? return $template;
? ? }
}
?>