欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP面向对象之private权限控制_PHP教程

程序员文章站 2022-05-04 21:25:57
...
/***
====笔记部分====
权限修饰符
作用: 用来说明 属性/方法的权限特点
写在 属性/方法前面
共有3个权限修饰符
private 私有的 , 保护的最严
protected 保护的
public 公共的 ,保护的最松
疑问:
public修饰的属性/方法,可以在哪儿访问?
private 修饰的属性/方法,可以在哪儿访问?
如何判断属性/方法 有没有权限访问?
答:看访问时的位置!
private的属性/方法,只能在类定义的大括号内{},才能访问
public 的属性, 在任意位置都可以访问

***/


[php]
class human{

public $mood='';// 心情,公有
private $money=500;// 钱,私有的

public function getmoney(){
return $this->money;
}
//定义私有秘密方法
private function secret(){

echo '我那天偷吃了一块糖';
}
//告诉我你的秘密方法
public function tellme(){

$this->secret();
}

}

$lisi=new human();
$lisi->mood='happay';

echo $lisi->mood,'
';//happay

echo $lisi->getmoney(),'
';//500

//echo $lisi->money=300;//对象不可以调用私有属性
//Fatal error: Cannot access private property human::$money in C:\wamp\www\php\private.php on line 31

//$lisi->secret();//对象不可以调用私有方法
//Fatal error: Call to private method human::secret() from context '' in C:\wamp\www\php\private.php on line 32

$lisi->tellme(); // 可以,因为是通过第17行,即,类内调用的.

/*
总结: private权限控制
只能在类的{} 内调用,
走出了{}, 谁也调不动.
*/

?>

class human{

public $mood='';// 心情,公有
private $money=500;// 钱,私有的

public function getmoney(){
return $this->money;
}
//定义私有秘密方法
private function secret(){

echo '我那天偷吃了一块糖';
}
//告诉我你的秘密方法
public function tellme(){

$this->secret();
}

}

$lisi=new human();
$lisi->mood='happay';

echo $lisi->mood,'
';//happay

echo $lisi->getmoney(),'
';//500

//echo $lisi->money=300;//对象不可以调用私有属性
//Fatal error: Cannot access private property human::$money in C:\wamp\www\php\private.php on line 31

//$lisi->secret();//对象不可以调用私有方法
//Fatal error: Call to private method human::secret() from context '' in C:\wamp\www\php\private.php on line 32

$lisi->tellme(); // 可以,因为是通过第17行,即,类内调用的.

/*
总结: private权限控制
只能在类的{} 内调用,
走出了{}, 谁也调不动.
*/

?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477340.htmlTechArticle/*** ====笔记部分==== 权限修饰符 作用: 用来说明 属性/方法的权限特点 写在 属性/方法前面 共有3个权限修饰符 private 私有的 , 保护的最严...