<?php
class person{
public $name = '';
function say($name){
echo $name."说话";
}
}
//实例化对象
$zs = new person();
//调用属性和方法
$zs->name = "张三";
$zs->say($zs->name);
类中成员:属性、方法、类常量
然后分一般属性、一般方法 public 不写默认就是public
静态属性、静态方法 static
静态类调用:
属性调用:类::$静态属性名;
方法调用:类::静态方法名();
$this代表当前所属类的当前对象(谁调这个方法,$this就是谁),在静态方法中不能使用
静态方法中不应调用非静态方法
self代表当前类,通常只能在某个类的某个方法内部代表该类的名称
class s2{
public $v1 = 1;
static function getNew(){
return new self; //self代表当前类,new self代表当前类的一个对象
}
}
echo "<hr />";
$obj2 = s2::getNew();
var_dump($obj2);
构造函数
__construct()
如果一个类中定义了构造方法,则实例化该类时就会调用该方法,且实例化时的参数需要跟构造方法的参数匹配(一 一对应)
class p{
public $name = "匿名";
public $age = 18;
function intro(){
echo "<br />hi,大家好我叫".$this->name;
echo ",今年".$this->age."岁";
}
function __construct($n,$a){
$this->name = $n;
$this->age = $a;
}
}
$p2 = new p('李四',22);
$p2->intro();
class p{
public $name = "匿名";
public $age = 18;
function intro(){
echo "<br />hi,大家好我叫".$this->name;
echo ",今年".$this->age."岁";
}
function __construct($n,$a){
$this->name = $n;
$this->age = $a;
}
}
$p2 = new p('李四',22);
$p2->intro();
构造方法是“创建”对象的时候会自动调用。
析构方法是“销毁”对象的时候会自动调用。