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)

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

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

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

  • 相关阅读:
    生产者和消费者,锁,队列
    爬虫日记-xpath来临
    进程进阶
    Entity Framework 复杂类型(转)
    EF Code First 学习笔记:约定配置(转)
    EF Code First学习笔记 初识Code First(转)
    JSON草稿
    JSON实例(单对象)
    JSON语法2
    JSON 语法
  • 原文地址:https://www.cnblogs.com/koker/p/5562174.html
Copyright © 2011-2022 走看看