PHP Designing Interfaces in PHP Abstract Classes Abstract Class

stuck on challenge 4of4

In the Mockingbird.php file, create a "Mockingbird" class that inherits from the Bird Class and also uses the Flyable interface. Make sure you define all abstract methods

Bird.php
<?php

// abstract bird class
abstract class Bird
{
  public $color,$wingspan,$habitat;

public function eat()
{
}
public function sleep(){

}
  public abstract function communicate($type);
}
Mockingbird.php
<?php 
class Mockingbird extends Bird implements Flyable {

  public function communicate($type) {
    }  

abstract class Flyable{
abstract protected function takeOff()  ;
     abstract protected function fly($dest) ;
     abstract protected function getValue();

}
}
Penguin.php
<?php

// real penguin class (cannot fly)
class Penguin extends Bird {

  public function communicate($type) {
  }

}
Alexandru Palita
Alexandru Palita
14,244 Points

This worked for me...

Bird.php

<?php

// abstract bird class

abstract class Bird 
{
  public $color, $wingspan , $habitat;

  public function eat() {
    return true;
  }
  public function sleep() {
    return true;
  }

  abstract public function communicate($type);
}

Penguin.php

<?php

// real penguin class (cannot fly)

class Penguin extends Bird
{
  public function communicate($type) {
  }
}

And Mockingbird.php ...Figured it out from the errors .... Flyable interface file is missing...

<?php

// real Mockingbird class (can fly)
class Mockingbird extends Bird implements Flyable 
{
  public function communicate($type) {
  }

  public function fly($dest){
  }
  public function takeOff(){
  }
  public function land(){
  }
}