码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-12-08 21:15:38      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:target   log   name   目录   this   百度   封装   iss   使用   

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

封装性的好处:

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();
?>

好吧,再换一个简单的说法。比如我对方法a进行了封装。方法b下包含了方法a。我调用的时候直接调用方法b如此便成功的调用了方法a。该案例在下面的案例。

 

 

 

 

THE END


 

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

标签:target   log   name   目录   this   百度   封装   iss   使用   

原文地址:http://www.cnblogs.com/xishaonian/p/6146207.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!