public:方法或者属性在任何浸染域下都可以访问到,而且是默认的,如果没有为一个属性或方法指定访问润色符,它将是public。
protected:本类和子类可以访问,外部工具不可以调用。
private:只能在本类访问,子类与外部工具都不可能调用。经由private标记的方法或者属性可以在继续类中重新定义,每一个类只能看到它自己定义的私有方法。 这三个润色符从浸染范围上来讲该当像这样从大到小排序:public→protected→private之以是说是在浸染范围上,是由于类把一些属性和方法进行了封装,这个封装就决定了数据的“可见性”,这样我们在类的表面不能够随意修正所定义的属性和方法而只能够进行调用,这便是封装的好处,同时也提高了安全性。
我们给出代码示例: class myClass{
public$public=\公众Public\公众;//public属性
protected$protected=\公众Protected\"大众;//protected属性 private$private=\"大众Private\公众;//private属性
function say_Hello{//public属性
//只是举例解释,自行添加内容 }
$obj=new myClass; echo$obj->public;
//echo$obj->protected; //echo$obj->private;
通过运行以上示例我们得到一个“Public”,但当你把//echo$obj->private;的注释去掉时,你会得到一下如下的缺点:Fatal error:Cannot access protected property myClass::$protected in E:apachehtdocsexamplefile.php on line 13。可以看到我们不能随意去访问类的属性定义,我们在“表面”是不知道这个类中到底有那些成员,由于这些成员对付其他的类可能是不可见的。当然如果我们一定要访问或者修正定义为“私有”的属性时,也可以利用PHP所供应的系统方法:_get和_set。
继续
可以使一个类继续并拥有另一个已经存在类的成员属性和方法,被继续的类称为父类或基类,继续类为子类。通过extends关键字实现继续关系。普通来说,要有继续就得有一个“根源”,这“根源”你可能想像你往后生了儿子或者女儿,他们会从你这里得到一些“东西(属性和方法)”,这样你的“后代”便是持有你(根源)所有的一些特色了。
产生“根源”类(父类或者基类)
语法:class father{
}
产生“后代”(子类)
语法:class son extends father{
}
PHP extends类继续示例代码:
class father{
protected$name;
function__construct($name){//布局函数
$this->name=$name;
}
function work{
echo\"大众{$this->name}我在事情;
}
function__destruct{}//析构函数
}
class son extends father{//继续父类
function play{
echo\"大众{$this->name}我在玩游戏;
$my_father=new father(“爸爸”);//创建父类工具
$my_father->work;
$my_son=new son(“儿子”);
$my_son->work;
$my_son->play;
解析:在父类father里,我们定义了一样平常的属性和方法,然后定义子类。你可能创造在子类里内是没有布局函数和析构函数的,由于子类是继续了父类的所有方法,以是可以调用$my_son->work;这便是PHP类的继续了。其余要把稳:PHP不能多层继续,如:class A extends B extends C,这样的继续在PHP中是无效的,PHP里只有单继续,不能多继续,须要其他办法变相“实现”多继续。
本站文章除注明转载外,均为本站原创或翻译