zoukankan      html  css  js  c++  java
  • php三大特性

    一、封装
    目的:为了让类更加安全
    方法:

    1.将成员变量变为私有
    2.做一个成员方法来间接访问
    3.在该方法里面加限制性条件

    class ren
    {
    private $name;
    private $age;

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

    $r=new ren();

    $r->setname("张三");

    echo $r->getname();

    以上这种方法,如果成员变量数量较多的话,写起来会很麻烦,因为每个变量都要写两个方法,所以在实际操作过程中不建议使用。

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

    else

    {

    $this->$n=$v;

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

    $r->__set("age",20);
    $r->age = 20;

    以上是运用了Php的两种魔术方法,创建变量和取得变量,这两种方法在遇到成员变量众多的情况下也可以轻松解决,不必重复两种方法。

    二、继承
    子类可以继承父类的一切
    特点:单继承,一个子类只能有一个父类,一个父类可以有多个子类。

    class ren
    {
    public $name;(privted只能在父类访问)
    function run()
    {
    echo "跑步";
    }
    }
    class china extends ren
    {
    重写 override
    function run()
    {
    parent::run();调用父类run方法
    echo "中国人跑步";
    }
    }
    $c=new china();
    $c->run();

    三、多态(一般php的多态表现不出来)

    当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,该引用在调用方法的时候表现出来的不同

  • 相关阅读:
    xshell入门及Linux常用命令
    C++之vector
    c++ 之 string
    引用 与 指针
    关于时间复杂度的计算以及相关概念
    位运算
    thymeleafDemo
    面试总结
    关于mvvm原理实现,模拟vue(3)-----发布订阅
    关于mvvm原理实现,模拟vue(2)-----模板编译
  • 原文地址:https://www.cnblogs.com/mengshenshenchu/p/6731487.html
Copyright © 2011-2022 走看看