天天看点

php关键字:final self static const

<?php

//关键字:final self static const

//1.final用于定义类和方法的一个重要关键词,

//当定义类时该类不能被继承,当定义方法的时候这个方法不能不被重载

// final class class1{

// final function fun1(){

//

// }

//}

// class mypc{

//static $name=" my pc";

// static function power(){

// echo self::$name.", open......";

//echo self::$name.", open......";

// echo "</br>";

// }

///}

//class mypc1 extends mypc{

//function power(){

//echo mypc::power().",yes";

// }

//s}

// echo "</br>";

// mypc::$name="my mp3";//可以直接修改静态变量

// echo mypc::$name;//可以直接输出静态变量

//$po=new mypc1();

// $po->power();

//2.self用于用类访问当前类中的内容好的关键词类似this关键词,

//但是this是需要类实例化后才可以使用的,self可以直接访问当前类中的内部成员

//slef::类内部成员(属性或者方法)等价于类名::类内部成员(属性或者方法)

//注意:因为没有实例化类访问内部属性或者方法是没有意义的,

//所以self一般用来访问类中的:静态成员,常量,或者其他定义内容

//3.static用于定义类的静态属性或者方法,可以在类未被实例化时使用

//静态属性单独占用内存而不会因创建了多个对象时而导致同样的方法或属性被重复占用

//静态成员的访问:类名::静态成员 self::静态成员(类内部访问静态成员)类名::静态成员(类外部访问静态成员)

//静态方法内部禁止出现非静态内容

// class cl2{

// static $name;

// static function satfun(){

// }

// }

//3.const用于定义类的常量,类似于php中define const只能修饰类中的成员属性

//注意:使用大写,常量不使用$,常量不允许改变

class Con{

const CONNAME="my pc";

static function confun(){

echo self::CONNAME.",open";

}

}

$con =new Con();

$con->confun();

?>

php