zoukankan      html  css  js  c++  java
  • php继承与实现作比较 还有 final 、const的讲解

    一个实例来说明继承与实现

    一个猴子一生下来就继承了父亲的爬树功能,但是它又想像鸟一样可以飞,像鱼一样可以在水里游。所以

    它就必须实现这两种动物的功能。

    用代码表示

    <?php

          

    /********实现与继承的比较********/

    class Monkey{

    public $name;

    public $age;

    public function climbing($name){
    $this->name=$name;
    echo $this->name."会爬树";

    }

    }


    interface bird{

    public function fly();
    }
    interface fish{

    public function swim();
    }
    class LittleMonkey extends Monkey implements bird,fish{

    function __construct($name){
    $this->climbing($name);//调用父类方法
    }
    function fly(){
    echo "会飞";
    }
    function swim(){
    echo "会游";
    }
    }
    /**

    一个猴子一生下来就继承了父亲的爬树功能,但是它又想像鸟一样可以飞,像鱼一样可以在水里游。所以

    它就必须实现这两种动物的功能。

    **/
    $test=new LittleMonkey("孙悟空");
    $test->fly();
    $test->swim();

    ?>

    比较:

          1.可以认为实现接口是对单一接口的功能补充

          2.可以在不破坏类层级关系的情况下,对某个类进行扩展

          final关键字(php5新增的,php4没有)

         1.如果方法是final的,那么这个方法就不能被子类覆盖

         2.如果一个类是final的,那么该类就不能被继承

        3.在php中只有类和方法才能被定义成final的

    php5.3的常量定义

          语法:const 常量名=值;

        访问:类名::常量名;接口名::常量名;

        常量要大写,而且名字前面没有$

     

  • 相关阅读:
    CRM SFA Determine the Type of Claim Rule Template to Use
    Log4j 打印堆栈信息
    树查找 二分法
    CRM 公海 领取规则 策略
    【设计模式】策略模式与状态模式
    Alibaba crm
    CRM easy rule & Resource Duplicate Detection
    CRM 线索分配
    SAAS CRM SFA 线索 分配
    SOFA & COLA 企业应用框架 & 代码精进
  • 原文地址:https://www.cnblogs.com/tangyue/p/3761576.html
Copyright © 2011-2022 走看看