PHP关键字

来源:互联网 发布:域名授权系统源码 编辑:程序博客网 时间:2024/05/17 21:39

1. instanceof 关键字

instanceof操作符,用于检测当前对象实例是否属于某一个类的类型。

class Person {

}

class Student extends Person{

}

$p = new Person();

if($p instanceof Person){

echo "p属于Person类型";//会进入

}

$s = new Student();

if($s instanceof Student){

echo "s属于Student类型";//会进入

}

if($s instanceof Person){

echo "s也属于Person类型";//也会进入

}


2.final关键字

在java中final定义常量,但是在PHP中final不用来定义常量

final不能用来使用修饰类的成员属性

final用来修饰类,这个类不能去扩展,也就是不能有子类来继承它,就是不让别人来扩展这个类的时候就使用final来修饰这个类class

final用来修饰类的成员方法,这个方法,就不能在子类中覆盖,也就是这个方法不能在子类中重写这个方法

final class Person {


}

class Student extendss Person{//不可行,因为Person用final修饰,不允许有子类继承它


}


final class Person{

final function say{


}

}

class Student extends Person{

function say(){//是不允许的,因为父类中say方法别final修饰,那么子类不能够覆盖这个方法

}

}

3.static 关键字,内存中静态量会存放在内存中的静态存储区中

static 可以修饰属性和方法,不能修饰类

使用static 修饰的类的成员属性,存在内存的初始化静态段中

可以被所有同一个类的对象共用,一旦改了值,也都全部改了

第一用到类,也就是类名第一次出现的时候,类在加载到内存时就已经将类中的静态成员加载到了内存静态段中,以后不会再记载到内存中了

静态的成员一定要使用类来访问

self可以在类中的方法中,代表自己类

静态成员一旦被加载到内存,只有脚本结束才释放

在静态的方法中,是不能访问非静态的成员的

重要是能使用静态的环境下声明方法,就最好使用静态方法

class Person{

public $name;

public $age;

public $sex;

public static $country = “中国”;

function __construct($name,$age,$sex){

$this->name = $name;

$this->age = $age;

$this->sex = $sex;

}

function say(){

echo "我所在的国家:".Person::$country."<br/>";

echo "我所在的国家:".self::$country."<br/>";

}

}

echo Person::$country;//这里就可以输出“中国”

Person::$country = "USA";

echo Person::$country;//这里就可以输出USA

$p1 = new Person("zhangsan",10,"男");

$p2= new Person("zhangsan",10,"男");

$p3 = new Person("zhangsan",10,"男");

$p4 = new Person("zhangsan",10,"男");


4.const关键字

在类里边不能使用define("","");来声明常量

常量也是存储在内存的静态存储区

const 修饰的成员属性为常量,也只能修饰成员属性

常量建议使用大写,不能使用$

常量一定要在声明时就给号初始值

常量的访问方式和static的访问方式相同,都采用self类来访问 self::SEX ; 但是只能读

在类的外部使用  类名::常量名

在类的内部     self::常量名

class Demo{

public $name;

const public SEX = "男";

function say(){

echo self:SEX;

}

static function xx(){

echo self::SEX;

}

}

echo Demo::SEX;

Demo::xx();



0 0
原创粉丝点击