跟着百度学PHP[4]OOP面对对象编程-7-封装性private

Posted 可我浪费着我寒冷的年华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟着百度学PHP[4]OOP面对对象编程-7-封装性private相关的知识,希望对你有一定的参考价值。

所谓封装顾名思义,如同箱子般给封装起来。结合前面的来说就是对属性或者方法,封装后的方法或属性只能有类内部进行调用。外部调用不了。

封装性的好处:

1.信息隐藏

2.http://www.cnblogs.com/yisss/p/3412702.html

3.https://zhidao.baidu.com/question/2203595698703331308.html

 

目录-------------------------------------

00X1 进行封装

00x2 如何调用封装的属性或者方法

-----------------------------------------

00X1 对属性或方法进行封装

可以用修饰符private

<?php 
/**
* 
*/
class Student
{
    private $name;             //封装了$name属性,方法也是如此。
    
    function __construct(argument)
    {
        # code...
    }
private  function say() //对say这个方法进行封装。
  {
    echo "hello world";
  } }
?>

 

 

00X2 如何调用封装的方法或属性

之前说到的,调用是使用“$this” 对于被封装的的外部直接进行调用肯定是不行的。

我的理解是,外部要调用内部被封装的只有间接调用可以顺利调用被封装了的属性或方法,换一种说法就是:只有类本身可以调用被封装的方法或者属性!(使用$this)

比如下面的第一个案例,对三个属性都进行了封装,然后初始化后对其进行了调用。

<?php
class Person
{
    private $name;        //对属性进行了封装,但是稍后的构造方法(__construct)对其进行了初始化,然后对这个属性进行了间接调用。故可以成功被调用。
    private $sex; 
    private $age;
    function __construct($name, $sex, $age)
    {
        $this->name = $name;
        $this->sex = $sex;
        $this->age = $age;
    }
    function say()
    {
        echo "我的名子叫:" . $this->name . " 性别:" . $this->sex . " 我的年龄是:" . $this->age."<br />";
    }
}

$p1 = new Person("张三", "", 20);
$p2 = new Person("李四", "", 30);
$p3 = new Person("王五", "", 40);
$p1->say();
$p2->say();
$p3->say();
?>

 

 

 

 

 

THE END


 

以上是关于跟着百度学PHP[4]OOP面对对象编程-7-封装性private的主要内容,如果未能解决你的问题,请参考以下文章

跟着百度学PHP[4]OOP面对对象编程-5-内部引用$this

跟着百度学PHP[4]OOP面对对象编程-12-对象接口技术(interface)

跟着百度学PHP[4]OOP面对对象编程-12-抽象类

跟着百度学PHP[4]OOP面对对象编程-16-switch逻辑就语句

跟着百度学PHP[4]OOP面对对象编程-15-魔术方法__call方法

跟着百度学PHP[4]OOP面对对象编程-6-构造方法(__construct)和构析方法(__destruct)