<?php
class book{
public $name;//变量
public static $price;//静态变量
const id=1;//常量
function setname($name){//成员方法
$this->name=$name;//访问正常变量可以使用this关键字
}
function getname(){
return $this->name;
}
function setprice($price){
self::$price=$price;//访问静态变量则需要使用self::$变量名 来访问变量值
}
function getprice(){
return self::$price;//静态变量被调用也只能用self,不能用this
return self::id;
}
static function getid(){
return self::id;//常量被调用使用self::常量名 来访问常量
}
}
book::id;//类外部访问常量和内部相似,self变为类名即可
$book=new book();
book::$price//访问静态变量
$book->getid();//静态方法可以通过对象调用
book::getid();//静态方法也可以通过类直接调用
总结:
1.在类内部访问静态变量和方法用 self::$变量名 访问常量 self::常量名
2.在静态方法中不能使用this关键字
3.变量在类内部只能用this调用,不能用self
4.在静态方法内部不能调用非静态变量,方法
5.在类内部或外部都可以通过self::和this的方式调用静态方法