PHP中的访问修饰符简单比较

PHP public访问修饰符

示例:

<?php

header("content-type:text/html;charset=utf-8");

// BaseClass

class pub {

public $tag_line = "!";

function display() {

echo $this->tag_line."<br/>";

}

}

// 子类

class child extends pub {

function show(){

echo $this->tag_line;

}

}

// 对象声明

$obj= new child;

// 输出

echo $obj->tag_line."<br/>";

$obj->display();

$obj->show();

?>

输出:

private访问修饰符

private修饰符可在其定义的类及其父类或继承类中使用。如果一个类成员声明为protected,则只能在类本身内以及继承和父类中访问它。

示例:

<?php

header("content-type:text/html;charset=utf-8");

// 基类

class pro {

protected $x = 500;

protected $y = 500;

// 实现减法

function sub()

{

echo $sum=$this->x-$this->y . "<br/>";

}

}

// 子类-继承类

class child extends pro {

function mul() //实现乘法

{

echo $sub=$this->x*$this->y;

}

}

$obj= new child;

$obj->sub();

$obj->mul();

?>

输出:

0

250000

protected访问修饰符

protected修饰符可在定义它的类中使用,注:它不能在类外部访问意味着继承类。

如果类成员声明为private,则它只能由定义该成员的类访问。

示例:

<?php

header("content-type:text/html;charset=utf-8");

// 基类

class demo {

private $name="!";

private function show()

{

echo "这是基类的私有方法";

}

}

// 子类

class child extends demo {

function display()

{

echo $this->name;

}

}

// 对象声明

$obj= new child;

// 出现异常---未捕获错误:调用私有方法demo::show()

//$obj->show();

//出现异常--未定义的属性:子级::$name

$obj->display();

?>

输出

从上例可以看出,它将显示错误,因为无法在类外访问私有类数据。

以上是 PHP中的访问修饰符简单比较 的全部内容, 来源链接: utcz.com/p/222518.html

回到顶部