//类中常见关键字
//(1)fianl 关键字: 锁定类-》类就不能继承, 锁定类的方法(函数)-》方法就不能被重载
//(2)self 关键字:和$THIS 不同点在类实例化时候才能用 self 可以直接访问类成员
//self::类内部成员(类属性和类方法) 等于 类名::类内部成员(类属性和类方法) 属于静态访问方法
//(3)static关键字: 用来定义静态的类的属性和方法,可以在类未被实例化时候使用,不会出现被重复访问。不占多次内存 定义后就成了静态类和静态属性,不能出现非静态的内容,所以说$this 不能使用
/* 1 类内部访问静态成员 (self::静态类内部成员(类属性和类方法) 和 类名::静态类内部成员(类属性和类方法))
2 类外部访问 (外部不实例化 就能访问类成员 类名::静态类内部成员(类属性和类方法))
*/
//(4)const 关键字:定义常量 类似外部定义常量的define();一样,常见是没有$符号的 $属于变量,常量是不能改变的 常量建议大写,只能定义类中的属性
//(1)fianl 关键字---
/*
fianl class clas1{ //该类讲不能被继承
fianl function func1{ //该类方法将不能被重载
}
}
*/
//(2)self 关键字----
//====================实例子===========
//--------------------------------------------------------------------------------------------------------------------------------
//(1)fianl 关键字---
//创建基类
class mypcmy{ //加上fianl class mypcmy 类就被锁定 就不能被派生类继承
//创建基类属性
public $name="我的电脑"; //创建类属性变量
//创建基类方法(函数)
function ppc1() { //构造自定义函数 被批派生类重载 加上fianl function ppc1() 类属性就被锁定 就不能被派生类方法重载
echo $this->name.",电脑开机中...."; //输出变量$name
}
}
//创建派生类 并继承基类
class mypcmy222 extends mypcmy { //派生类继承基类
function ppc1() { //构造自定义函数 重载基类的方法
echo mypcmy::ppc1().",***********"."<br>"."<br>"; //继承类后 重载,可以用静态方法 访问基类的方法 基类名::基类方法
}
}
//class my {} 如果基类被锁定,派生类就不能继承他 如果基类方法被锁定,派生类就不能重载他
$ppppp=new mypcmy222();
$ppppp->ppc1();
//--------------------------------------------------------------------------------------------------------------------------------
//(1)self 关键字---static关键字 用static关键字把类属性和方法静态化,就可以通过self 关键字访问静态的 属性和方法
//const 还有常量 常量是固定不变的,不能被修改,
//静态属性是第一次访问 他就放在内存当中了,不需要实例化后在去访问,
//创建基类
class mywww{ //加上fianl class mypcmy 类就被锁定 就不能被派生类继承
//创建基类属性
static $name="我的电脑"; //创建类属性变量 为静态属性变量,用self::静态类内部成员(类属性和类方法) 和 类名::静态类内部成员(类属性和类方法)来取 不能用 $this 因为他是访问的动态对象
const name2="电脑1";
//创建基类方法(函数)
function ppc2() { //构造自定义函数 被批派生类重载 加上fianl function ppc1() 类属性就被锁定 就不能被派生类方法重载
echo self::$name.",电脑开机中...."."<br>"; //输出变量$name 静态属性变量需要 静态方法来访问
echo self::name2; //输出常量,常量是固定不变的,不能被修改,
}
}
//创建派生类 并继承基类
class my2222 extends mywww { //派生类继承基类
function ppc2() { //构造自定义函数 重载基类的方法
echo mywww::ppc2().",***********"."<br>"."<br>"; //继承类后 重载,可以用静态方法 访问基类的方法 基类名::基类方法
}
}
//class my {} 如果基类被锁定,派生类就不能继承他 如果基类方法被锁定,派生类就不能重载他
//$ccccc=new my2222(); //实例花对象
//$ccccc->ppc2(); //输出类方法
//静态化后可以不需要实例化就能取类中的属性和方法
//访问类的静态属性
mywww::$name="你的电脑-"; //也可以修改静态变量中的植
echo mywww::$name; //如果类中属性和方法 是静态属性和方法, 那么可以不需要对象实例话来访问类属性和方法,直接用静态访问
//访问类的静态方法
上一篇:php类中接口应用
下一篇:php类的继承和应用