zoukankan      html  css  js  c++  java
  • PHP学习笔记---封装(面向对象三大特性之一)

    回顾:类的概念(对象的抽象化) 对象(类的实例化)

    定义 类:成员变量;成员方法;

    如何造对象呢:

    1 $r = new ren();  new 创建

    调用对象的成员  :  $r->

    对于面向对象有三大特性:封装;继承;多态;

    关于封装(做类的将类进行封装)

    目的是:让类更加安全,不让外界直接访问类的成员;

    做法:不让外界直接访问类的成员

    具体做法一:

    1.成员变为私有:访问修饰符(publc ,private ,protected)

    public:公共的 所有的地方都能访问到;

    private:私有的  只有这一个类里面可以访问到  (它的子类也不能访问);

    protected:受保护的   在该类含有它的子类里面可以访问到(只能访问含有子类)

    1 class  ren
    2 {
    3      var  $age;  ——private   $age;  //转为私有
    4 }
    5 $r  =  new ren();

    2.造成员方法来操作变量

    class  ren
    {
        private   $age;  //转为私有
         public function SetAge($a)
        {
           $this->age=$a;
        }
        
     }
     $r  =  new ren();
    $r->SetAge(20);//给一个值
    var_dump$r);

    还有其他方法:(加入判断)

    ///造方法去给变量$age赋值
        public function SetAge($a)
        {
            if($a>18 and $a<50)
            {
                $this->age = $a;
            }
        }
    //取值
        function GetAge()
        {
            return $this->age;
        }

    3.使用类里面提供的__get()和__set()方法

    function _set($n,$v)   //变量赋值方法
        {
            if($n=="age")
            {
                if($v>18and$v<50)
                {
                    $this->$n=$v;
                }
            }
            else
            {
                $this->$n=$v;//一个汉字3个字节
            }
        }
    //取值方法
    function _get($n)
    {
        return $this->$n;
        
    }*/
    }
    
    
    $r=new ren("男");
    $r->age=20;
    $r->name=“张三”;
    $r->SetAge();
    var_dump($r)

    ***构造函数  不加访问修饰符 

    :在造对象的时候,对成员变量进行初始化
    //1.执行时间特殊:造对象的时候就自动执行
    //2.写法特殊:__construct  构造方法的名称必须是construct

    class
    {
    private   $sex
    function __construct($s)
        {
            $this->sex = $s;
        }
    }
    $r=new ren("男");//构造函数在new的里面就调用构造函数  传入参数“男”
    
    var_dump($r)

    对一个类构造函数飞创重要

    研究类第一的要看的就是构造函数

    因为使用他人的类第一步就是要造对象;才能调用里面的对象

  • 相关阅读:
    个人冲刺二(7)
    个人冲刺二(6)
    个人冲刺二(5)
    个人冲刺二(4)
    对称二叉树 · symmetric binary tree
    108 Convert Sorted Array to Binary Search Tree数组变成高度平衡的二叉树
    530.Minimum Absolute Difference in BST 二叉搜索树中的最小差的绝对值
    pp 集成工程师 mism师兄问一问
    17. Merge Two Binary Trees 融合二叉树
    270. Closest Binary Search Tree Value 二叉搜索树中,距离目标值最近的节点
  • 原文地址:https://www.cnblogs.com/koker/p/5562174.html
Copyright © 2011-2022 走看看