标签:info this prot png string inf 成员方法 技术 其他
封装:
封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。
上面的操作是靠以下访问控制符号来实现,规定了自身权限,使有的人能访问,有的人不能访问
例程:
- <span style="font-size:18px;"><?php
- class Person{
- public $name;
- private $age;
- private $salary;
- function __construct($name,$age,$salary){
- $this->name=$name;
- $this->age=$age;
- $this->salary=$salary;
- }
- }
- $a1=new Person("小明",32,5000);
- echo "<br>".$a1->name."<br>";
- ?></span>
php提供了三种访问控制符号来控制方法和属性(变量)的访问权限.
1. public 表示全局,可以在本类,类外部,子类 中使用
2. protected 表示受到保护, 可以在本类, 子类中使用,不能在类外使用n
3. private 表示私有, 只能在本类中使用,不能在类外使用,即在其他地方new了本类,也不能调用该方法
这三个控制修饰符号可以对 属性 和 方法进行修饰
1. 如果一个方法没有访问修饰符,则默认是public
2. 属性 必须指定访问修饰符,若没有访问修饰符,会报错。
3. 私有方法前面最好加下划线,如:private function _save(){}
//方法之间可以互相调用. 但是需要使用 $this引用
function test11()
{
$this->test12();
}
protected function test12()
{
echo "test12 hello";
}
举例说明:
- <?php
- class Person1{
- public $name;
- protected $age;
- private $salary;
-
-
- function __construct($name,$age,$salary){
- $this->name=$name;
- $this->age=$age;
- $this->salary=$salary;
- }
-
-
-
- public function showInfo(){
-
- echo $this->name."||".$this->age."||".$this->salary;
- }
- function test(){
-
- $this->showInfo();
- }
- }
- $p1=new Person1("孙悟空",30,1000);
- $p1->test();
- ?>
若想在类外去访问protected 变量或者 private 变量, 通常的做法是在类中创建 public 方法去访问 这些变量. 形式是
public function setXxx($val){
}
public function getXxx(){
}
public function showInfo(){
}
举例说明:
- <?php
- class Person2{
- public $name;
- protected $age;
- private $salary;
-
- function __construct($name,$age,$salary){
- $this->name=$name;
- $this->age=$age;
- $this->salary=$salary;
- }
-
-
- public function showInfo(){
-
- echo "<br>".$this->name."||".$this->age."||".$this->salary;
- }
- }
- $p1=new Person2("猪八戒",20,5000);
- $p1->showInfo();
- ?>
PHP面向对象 – 封装
标签:info this prot png string inf 成员方法 技术 其他
原文地址:http://www.cnblogs.com/limingxishuai666/p/7191660.html