程序组第二次作业代码

继承与多态:


abstract class Animal
{
    abstract public function roar();

    public function speak(){
        echo "I can speak!<br/>";
    }
}

class Pig extends Animal
{
    public function roar()
    {
        echo "I want to roar as honk!<br/>";// TODO: Implement roar() method.
    }

    public function speak()
    {
        parent::speak();
        echo "I can speak honk!<br/>";// TODO: Change the autogenerated stub
    }
}

class Dog extends Animal
{
    public function roar()
    {
       echo "I want to roar as 汪!<br/>";// TODO: Implement roar() method.
    }

    public function speak()
    {
        parent::speak();
        echo "I can speak as 汪!<br/>";// TODO: Change the autogenerated stub
    }
}

class Monkey extends Animal
{
    public function roar()
    {
        echo "I can roar as 嗷呜——<br/>";// TODO: Implement roar() method.
    }

    public function speak()
    {
        parent::speak();
        echo "I can speak as 嗷呜——<br/>";// TODO: Change the autogenerated stub
    }
}

function test(Animal $animal){
    $animal->roar();
    $animal->speak();
}

test(new Pig());

test(new Dog());

test(new Monkey());
/**
 * Created by PhpStorm.
 * User: HP
 * Date: 2017/10/12
 * Time: 14:49

接口作业:


interface iTalkable
{
    public function talk();
}

interface iPlayable
{
    public function play();
}

abstract class People implements iTalkable,iPlayable{
    public function talk()
    {
        echo "Would you like talk with me?<br/>";// TODO: Implement talk() method.
    }
    public function play()
    {
        echo "Would you like play with me?<br/>";// TODO: Implement play() method.
    }
}

class Teacher extends People{
    public function talk()
    {
        parent::talk();
        echo "Yes,I do.<br/>";// TODO: Change the autogenerated stub
    }

    public function play()
    {
        parent::play();
        echo "Yes,I'd like to!<br>";// TODO: Change the autogenerated stub
    }
}

$a = new Teacher;

var_dump($a instanceof Teacher);
echo "<br/>";

function test(People $people){
    $people->play();
    $people->talk();
}

test(new Teacher());
/**
 * Created by PhpStorm.
 * User: HP
 * Date: 2017/10/12
 * Time: 16:11
 */```


trait作业:
```<?php

trait MyTrait{
    public function justTalk(){
        echo "speak from ".__CLASS__."<br/>";

    }
}

class MyClass1{
    public function speak(){
        echo "speak from myclass1" . PHP_EOL;
    }
    use MyTrait;
}
class MyClass2{
    public function speak(){
        echo "speak from myclass2" . PHP_EOL;
    }
    use MyTrait;
}

$myClass1 = new MyClass1();
$myClass1->justTalk();
//output : speak from myClass1

$myClass2 = new MyClass2();
$myClass2->justTalk();
//output : speak from myClass2
/**
 * Created by PhpStorm.
 * User: HP
 * Date: 2017/10/12
 * Time: 16:52
 */```


原地旋转暴风哭泣!!!飓风哭泣!!!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 继承与多态 代码: 运行截图: 接口作业: 运行截图: trait作业 运行: 就是这样啦……
    爆浆芝士阅读 126评论 0 0
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-java.h...
    eddy_wiki阅读 1,225评论 0 5
  • 多态: 多态的本质: 父类引用指向子类的对象 或者 接口类型的引用可以只想实现接口的类的实例 多态是一种运行时期的...
    阿明的小蝴蝶阅读 514评论 0 0
  • 那些伟大的思想家们 他们谁不是历尽沧桑 至死都受到权势之徒 及其奴才们的忌恨与迫害 永恒地信仰真 终极地求知善 自...
    欧阳小川阅读 474评论 12 40
  • 在深圳这样的城市,堵车是司空见惯的,周一堵,周五堵,下雨堵,这是第一类堵,而且基本是全城堵,从家门口堵到公司...
    葡萄树的好枝子阅读 249评论 0 0