• php面向对象基础(二)


    面向对象三大特性
    1.封装
    目的:为了使类更加安全
    做法:
    a.将成员变量变为私有的
    b.做一个成员方法来间接访问
    c.在该方法里边加限制条件
    class Ren
    {
        private $age;//18-50之间
        private $name;
        //魔术方法,给变量赋值
        function __set($n,$v)
        {
            if($n=="age")
            {
                if($n>=18&&$n<=50)
                {
                    $this->$n = $v;
                }
            }
            else
            {
                $this->$n = $v;
            }
        }
        //魔术方式,取变量值
        function __get($n)
        {
            return $this->$n;
        }
        //以下此方法仅适用于一个或者两个变量
        /*function setAge($n)
        {
            if($n>=18&&$n<=50)
            {
                $this->age=$n;
            }
        }
        function getAge()
        {
            return $this->age;
        }    */
    }
    $r=new Ren();
    $r->__set("age",20);
    $r->age=20;
    $r->name="张三";
    var_dump($r);

    2.继承
    子类可以继承父类的一切(除了私有成员之外)
    特点:单继承
    class Ren
    {
        private $name;
        function Run()
        {
            echo "跑步:<br>";
        }
    }
    class China extends Ren //extends继承自谁
    {
        //重写override
        function Run()
        {
            parent::Run();
            echo "中国人跑步";
        }
    }
    $c=new China();
    $c->Run();
    var_dump($c);

    3.多态(弱类型语言实现不了多态)
    定义:当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,该引用在调用方法的时候所表现出的不同

  • 相关阅读:
    算法(第四版)2.1 初级排序算法
    数据类型:数值
    数据类型:null, undefined 和布尔值
    数据类型:概述
    9.6 http中间件
    9.5 处理http 请求
    9.4 简单httpserver
    9.3 多客户端TCP
    9.2 udp server
    资源竞争
  • 原文地址:https://www.cnblogs.com/zhaohui123/p/6737545.html
Copyright © 2020-2023  润新知