PHP5中的访问控制!public ,private,protected

王朝学院·作者佚名  2009-02-24
窄屏简体版  字體: |||超大  

php5 oop中类的变量定义遵循一种访问控制,就是:

public 表示全局,类内部外部子类都可以访问;

private表示私有的,只有本类内部可以使用;

protected表示受保护的,只有本类或子类或父类中可以访问;

<?php

class BaseClass {

public $public = 'public';

private $private = 'private';

protected $protected = 'protected';

function __construct(){

}

function print_var(){

print $this->public;echo '<br />';

print $this->private; echo '<br />';

print $this->protected; echo '<br />';

}

}

class Subclass extends BaseClass {

// public $public = 'public2';

protected $protected ='protected2';

function __construct(){

echo $this->protected;//可以访问,因为类中定义为受保护的,所以在本类或子类中可以,子类中还可以重复付值

echo '<br />';

echo $this->private;//error 因为是私有的只有在定义她的类baseclass中可以用

}

}

$obj1 = new BaseClass();

$obj1->print_var();

//echo $obj1->protected;//error 因为是受保护的,只有在本类内部或子类父类中可以调用

//echo $obj1->private;//error 同上私有的,只有在本类内调用

echo $obj1->public;

echo "<hr />";

$obj2 = new Subclass();

echo '<br />';

echo $obj2->public;echo '<br />';

echo $obj2->protected;

//echo $obj2->private;//error

//echo $obj2->protected;

?>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航