首页> 基础笔记 >PHP基础学习 >面向对象 面向对象

PHP面向对象之封装性

作者:小萝卜 2019-08-31 浏览 969

简介封装性是面向对象编程中的三大特性之一,封装就是把对象中的成员属性和成员方法加上访问修饰符,使其尽可能隐藏对象的内部细节,以达到对成员的访问控制(切记不是拒绝访问)。

PHP面向对象之封装性

封装性是面向对象编程中的三大特性之一,封装就是把对象中的成员属性和成员方法加上访问修饰符,使其尽可能隐藏对象的内部细节,以达到对成员的访问控制(切记不是拒绝访问)。

这是PHP5的新特性,但却是OOP语言的一个好的特性。而且大多数OOP语言都已支持此特性。

PHP5支持如下3种访问修饰符:

public    (公有的  默认的)

private   (私有的)

protected (受保护的)

<?php
//类的封装:就是使用private protected public关键字修饰类中的成员属性和方法,已达到尽可能隐藏内部细节。

//定义一个demo类
class Demo{
    //定义成员属性
    public $x=10;  //公有属性
    protected $y=20; //受保护属性
    private $z=30;  //私有属性
    
    //定义成员属性
    public function fun1(){
        echo "公有方法fun1.... <br/>";
    }
    protected function fun2(){
        echo "受保护方法fun2.... <br/>";
    }
    private function fun3(){
        echo "私有方法fun3.... <br/>";
    }
    
    //在类的内部可以使用自己的属性和方法
    public function fun(){
        echo $this->x.":".$this->y.":".$this->z."<br/>";
        $this->fun1();
        $this->fun2();
        $this->fun3();
    }
}

//测试:
$d = new Demo(); //实例化Demo类产生一个对象d

echo $d->x; //10 使用公有属性
//echo $d->y; //报错,不可以在类外使用受保护属性
//echo $d->z; //报错,不可以在类外使用私有属性

//测试方法
$d->fun1(); //可以调用
//$d->fun2(); //报错,不可以在类外使用受保护方法
//$d->fun3();   //报错,不可以在类外使用私有方法
$d->fun();
 

 

很赞哦! (0)

文章评论

    高端网站建设