温故而知新:PHP温习3 面向对象

<?php
//类
class Ren{
//public private var protected
//public private var protected;
var $xm;
var $nl=30;
var $xb;
private $qian;

function __construct($xm=””,$nl=30,$xb=”男”,$qian=””){
$this->xm=$xm;
$this->nl=$nl;
$this->xb=30;
$this->qian=1000;
}
function shuohua(){
echo $this->xm.”说话”;
}
function zoulu(){
echo $this->xm.”走路”;
}
//访问私有属性的公共方法。
function __set($nam,$val){
//给判断控制风险
}
function tiqian(){
echo $this->qian;
}
function __get($name){
//获取私有属性
}
function __isset($nam){
//类外使用这个isset(),就调用这个方法
}
function __unset($nam){
//类外使用这个isset(),就调用这个方法
}

function __destruct(){
echo “<br>”;
echo $this->xm.”再见”;
}
}

final class Nanren extends Ren{
//final 类不能继承,不能覆盖;
const CL=”常量”; //必须赋初值;
var $nxm;
var $nnl;
static $nxb; //静态属性
static function cf(){
//静态成员方法。
echo “static function”;
}
function wbnxb(){
//类内调用静态成员
self::$nxb;
}
public function __tostring(){
//echo $对象; 时,调用本方法
}
public function debuginfo(){
//var_dump($对象)时,调用本方法。 PHP7中
}
public function __call(){
//当类外调用类内不存在的方法时,调用这个方法;
}
public static function __callStatic($method, $arguments) {
//当调用不存的静态方法的时侯,调用这个方法
echo ‘我是要调用的不存在的静态方法名: ‘, $method, ‘<br>’;
echo ‘以下是通过__callStatic方法显示的参数’, ‘<br>’;
var_dump($arguments);
}
public function __autoload(){
//当实例化对象不存在,则调用这个方法
}
}

class Nvren extends Ren{
var $xm;
var $nl=30;
var $xb;
private $qian;

function __construct($xm=””,$nl=30,$xb=”男”,$qian=””){
$this->xm=$xm;
$this->nl=$nl;
$this->xb=30;
$this->qian=1000;
}
function yj(){
$this->xm.”来好事”;
}
}

$ren = new Ren(“1000”);
echo “<br>”;
echo $ren->xm=”吴垒”;
echo “<br>”;
echo $ren->nl;
echo “<br>”;
$ren->shuohua();
echo “<br>”;
//$ren->qian; //私有属性外部不能访问
$ren->tiqian();
$nvren = new Nvren();
$nvren->yj;
$naren = new Nanren();
echo “<br>”;
//类外调用静态成员方法
$naren::cf();
echo “<br>”;
//类外调用常量;
echo $naren::CL;
//克隆对象
clone $naren;

发表评论