zoukankan      html  css  js  c++  java
  • php 封装 知识点



    由众多对象抽象出来的
    对象
    由类实例化出来的

    成员变量
    成员方法
    成员属性

    访问修饰符
    public 公有的
    protected 受保护的
    private 私有的

    构造函数
    1.写法特殊
    2.执行时间特殊

    面向对象的三大特性 继承 封装 多态

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


    class Ren
    {
    public $code; //人员代号
    private $name; //人员名称
    private $sex; //人员性别
    private $age; //人员年龄,必须在18-50周岁之间

    //构造方法,用来初始化性别
    function __construct($s)
    {
    $this->sex = $s;
    }

    /*//造一个修改年龄的方法
    function SetAge($a)
    {
    //加控制
    if($a>18 && $a<50)
    {
    $this->age = $a;
    }
    }
    //造一个获取age值的方法
    function GetAge()
    {
    return $this->age;
    }*/

    //给变量赋值的魔术方法
    function __set($n,$v)
    {
    if($n=="age")
    {
    if($v>18 && $v<50)
    {
    $this->$n = $v;
    }
    }
    else
    {
    $this->$n = $v;
    }
    }

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

    //造对象
    $r = new Ren("男");
    //$r->SetAge(30);
    //$r->__set("age",30);

    $r->age = 30; //自动调用__set()方法,将变量名当做第一个参数,将等号右边的值当做第二个参数
    $r->name = "张三";

    //echo $r->sex; //自动调用__get()方法,将变量名当做参数
    //var_dump($r);

    class Dog
    {
    private $name;

    function Jiao()
    {
    echo $this->name."在叫";
    }

    function SetName($n)
    {
    $this->name = $n;
    return $this;
    }

    }

    $d = new Dog();
    $d->SetName("旺财")->Jiao();

    //2.继承

    //3.多态


    ?>

  • 相关阅读:
    C++11 vector使用emplace_back代替push_back
    Centos6.4 编译安装 nginx php
    Centos 编译安装nodejs&express框架
    zookeeper 入门(二)
    zookeeper 入门(一)
    Paxos算法1-算法形成理论[转载]
    yum只下载软件不安装的两种方法
    Centos 6.4 安装dnsmasq
    Centos 6.4 安装erlang&rabbitmq
    Centos 6.4 安装Python 2.7 python-pip
  • 原文地址:https://www.cnblogs.com/sujianhao/p/6186571.html
Copyright © 2011-2022 走看看