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的多态表现不出来)

  • 相关阅读:
    Java中的File类
    scala语法
    Spark核心原理
    资源调度器
    YARN工作机制
    MapReduce原理和工作过程
    序列化
    Hbase(2)表的设计和Rowkey等的设计
    Hbase(1)架构和工作原理
    Exception in thread "main" java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.metric()Lio/netty/buffer/PooledByteBufAllocatorMetric;
  • 原文地址:https://www.cnblogs.com/zqld/p/6739196.html
Copyright © 2011-2022 走看看