PHP 面向对象总结

class obj{
    function getinfo(){

    }
}


构造方法:new 对象的时候调用

function __construct(){}


析构方法:释放对象的时候调用

function  __destruct(){}

 

魔术方法

设置私有属性

function __set($param,$value){

    $this->$param=$value;

}


获取私有属性

function __get($param){

    return $this->$param;

}


isset私有属性时调用

function __isset($param){

    return isset($this->$param);

}


unset 私用属性时调用

function __unset($param){

    unset($this->$param);

}


类被当做字符串使用时调用,例如直接echo 对象名

function __toString(){

}


继承类

class obj extends base{

}


重载方法,调用父类方法

function getinfo(){

    parent::getinfo();

    echo '重载方法';

}


静态方法/属性

class obj {

    static $name;

    static function getinfo(){

        echo self::$name;

    }
}
obj::$name = 'this is name';

obj::getinfo();

 

常量 ,不可赋值

class obj{

    const TEST='123';

}

obj::TEST;

 

抽象类 抽象方法,由子类实现方法,也可保护非抽象方法,子类必须实现全部抽象方法

abstract class abclass
{
 abstract function fun1();

function fun2(){

    echo '抽象类里的方法';

}
}

class class1 extends abclass{
     function fun1(){
     echo '实现抽象类方法';  
 }
 
}


接口,只能定义方法,不能实现方法,子类必须实现全部方法

interface ifclass{
 function fun1();
 function fun2();
}

class class2 implements ifclass{
 function fun1(){
  echo '实现接口方法1';
 }
 
 function fun2(){
  echo '实现接口方法2';
 }
}

 

final 不能被继承

final class class3 {
 function fun1(){
   echo '此类不能被继承';
 }
}

 

序列化反序列化

$stooges = array('Moe','Larry','Curly');
$new = serialize($stooges);
print_r($new);
echo "<br />";
print_r(unserialize($new));


结果:a:3:{i:0;s:3:"Moe";i:1;s:5:"Larry";i:2;s:5:"Curly";}

Array ( [0] => Moe [1] => Larry [2] => Curly )

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值