zoukankan      html  css  js  c++  java
  • 面对对象的三大特性1.封装

    目的:为了使一个类更加安全,
    做法
    1.将成员变量(年龄)变成私有
    2.在类里面做方法间接访问成员变量
    3.在访问里面加控制

    class ren
    {
       public    $code;//人员代号
       private   $name;//名称
      private   $sex;//性别
       private(私有)  $age;//年龄
       
       构造方法,用来初始化性别
       function __construct($s)
       {
           $this->sex=$s;
           }
           
           
    只写不读    //造一个修改年龄的方法
      function setAge($a)
      {
          if($a>18 && $a<50)//给条件作限制 做控制  满足该条件继

    续进行
         {
         $this->age=$a;
      }
          }
          
          
    //只读不写      //造一个获取age值的方法
        function Getage()
        {
            return $this->age;
            }*/



    //推荐使用
    //给变量赋值的魔术方法(__set)
    /*  function __set($name,$v)//变量名,变量值
      {
          if($name=="age" )
          {
              if($v>18 &&$v<50)
              {
          $this->$name=$v;
              }
          }
          }*/

    //__get魔术方法 用来去变量值
    /*function __get($n)
    {
        return $this->$n;
        }

        }
    造对象
    $r = new ren("男");
    $r->setAge("20");
    $r->set("age",30);
    $r->age=40;//自动调用__set()方法,将变量名当作第一个参数,将等

    号右边的值当作第二个参数。
    $->name="张三";
    echo $r->set;//自动调用__get方法 ,将变量名当作参数;

    var_dump($r);

    联调的例子

    /*class Dog
    {
        public $name;
        function jiao()
        {
            echo $this->name."在叫";
            }
        function setname($n)
        {
            $this->name=$n;
            retuen $this;
            }
        
        }
    $d = new Dog();
    $d->setnam("旺财")->jiao()

  • 相关阅读:
    linux API 获得文件属性
    Linux 服务端设计
    Linux C++ 使用LuaBind嵌入lua脚本
    Linux 编译安装Boost (转)
    Navicat for My SQL 查看中文乱码问题
    fastbuild联编ue4 shader的使用
    fastbuild进行ue4 shader连编
    maya 插件学习之pythonCharm和Qt环境搭建
    ue4 头发渲染
    ue4 新渲染管线整理
  • 原文地址:https://www.cnblogs.com/gdbaby/p/6164013.html
Copyright © 2011-2022 走看看