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 常量名=值;

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

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

     

  • 相关阅读:
    排序算法研究
    SqlParameters参数
    winfrom项目
    方法参数中有out和in关键字是什么意思?
    在C#中使用存储过程
    11Book系列多表群操作
    7drf过滤排序分页异常处理
    12RBAC基于角色的访问控制
    5drf路由组件
    8drf自动生成接口文档
  • 原文地址:https://www.cnblogs.com/tangyue/p/3761576.html
Copyright © 2011-2022 走看看