zoukankan      html  css  js  c++  java
  • php面向对象三大特性——封装

    封装

    目的:让类更加安全,不让外界直接访问类里面的成员变量

    做法:1.把成员变量做成私有的。2.做一个方法来实现取值或赋值,在方法里面加限制条件。

    class ren

    {

      private $name;

      private $sex;

      private $age;

      

      function __construct($s)

      {

        $this->sex=$s;  

      }

      public function Say()
      {
        echo "hello";
      }


      function __destruct() //析构函数,对象销毁前执行
      {
        echo "该对象销毁了!";
      }

      

      function SetAge($a) //给age赋值的函数
      {
        if($a>10 && $a<50)
        {
          $this->age = $a;
        }
      }


      function GetAge() //取age的值
      {
        return $this->age;
      }

      

      function __set($name,$value) //对类里面的私有成员进行赋值的魔术方法^
      {
        if($name == "age")
        {
          if($value>20 && $value<50)
            {
              $this->$name = $value;
            }
        }
        else
        {
          $this->$name = $value;
        }
      }

      function __get($name) //对类里面的私有成员进行取值的魔术方法^
      {
        return $this->$name;
      }

    }

    使用类里面提供的魔术方法也可以实现对私有成员的操作
    __set()特点:会自动执行,把赋值语句中的变量名作为第一个参数,把变量值作为第二个参数调用__set方法
    __get()特点:会自动执行,把取值语句中的变量名作为参数调用__get方法

  • 相关阅读:
    字串变换
    重建道路
    poj3278 Catch That Cow
    机器人搬重物
    [HNOI2004]打鼹鼠
    曼哈顿距离
    邮票面值设计
    poj1101 The Game
    解决了一个堆破坏问题
    模型资源从无到有一条龙式体验
  • 原文地址:https://www.cnblogs.com/mantou1314/p/5442905.html
Copyright © 2011-2022 走看看