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

  • 相关阅读:
    datagridview 查询数据库数据
    java 类属性的加载顺序(带有继承关系的)
    jquery控制checkbox
    dataTable获取全部输入的数据(不仅是页面中展示出来的)
    java.security.Key 在main方法中与在tomcat中得到的encode不同,why?
    java代理模式
    android webservice交互开发
    完成oracle数据分页功能
    android 接收服务端 oracle数据中存储的blob对象 转化为图像
    JSON使用详解
  • 原文地址:https://www.cnblogs.com/gdbaby/p/6164013.html
Copyright © 2011-2022 走看看