public function __construct($name) { parent::__construct($name); $this->health = 150; } public function pet() { $this->health += 5; return $this; } } class Dragon extends Animal { public function __construct($name) { parent::__construct(); $this->health = 170; } public function fly() { $this->health -= 10; return $this; } } $animal = new Animal("animal"); $animal->walk()->walk()->walk()->run()->run()->displayHealth(); echo "<br>"; $dog = new Dog("dog"); $dog->walk()->walk()->walk()->run()->run()->pet()->displayHealth(); $dragon = new Dragon("dragon"); $dragon;
echo "Setting '{$name}' to '{$value}' <br/>"; if (property_exists($this, $name)) { $this->{$name} = $value; } else { echo "property {$name} does NOT exist <br/>"; } } public function __get($name) { echo "Getting '{$name}' <br/>"; if (property_exists($this, $name)) { return $this->{$name}; } else { echo "property {$name} does NOT exist <br/>"; } } } $johny = new Dog("blue"); $rony = new Dog("Rony", "setter", "brown"); $johny->walk(15); $johny->show_info(); $johny->eat("bones", 2); $johny->show_info(); $rony->show_info(); $rony->color = "red"; echo $rony->color; $totalEnergy = $johny->energy + $rony->energy; if ($johny->energy > $rony->energy) { echo "johny wins"; } echo $rony->legs;
class Dragon extends Animal { public function __construct($name) { parent::__construct($name); $this->health = 170; } public function fly() { $this->health -= 10; echo 'fly, '; return $this; } public function displayHealth() { echo '<br /><strong>Dragon Message: </strong><em>This is a dragon!</em>'; parent::displayHealth(); } } echo '<h2>$animal Object Instance of the Animal Class with Various Invoked Methods</h2>'; $animal = new Animal("animal"); $animal->walk()->walk()->walk()->run()->run()->displayHealth(); echo '<h2>$black_lab Object Instance of the Dog Subclass (of the Animal Parent Class) with Various Invoked Methods</h2>'; $black_lab = new Dog("Bo"); $black_lab->walk()->walk()->walk()->run()->run()->pet()->displayHealth(); echo '<h2>$crazy_dragon Object Instance of the Dragon Subclass (of the Animal Parent Class) with Various Invoked Methods</h2>'; $crazy_dragon = new Dragon("Crazy Dragon"); $crazy_dragon->walk()->walk()->walk()->run()->run()->fly()->fly()->displayHealth(); echo '<h2>Calling the fly() and pet() Methods on the Animal Class Will Display an Error Message Per the Code Below</h2>'; $lizard = new Animal("Freddy"); $lizard->pet()->fly();
//---------------DOG CLASS------------------// class Dog extends Animal { public function __construct($name) { $this->name = $name; $this->hp = 150; } public function pet() { $this->hp += 5; } } //---------END OF DOG CLASS CODE-------------// $dog1 = new Dog('bill'); $dog1->walk(); $dog1->walk(); $dog1->walk(); $dog1->run(); $dog1->run(); $dog1->pet(); $dog1->display_hp(); //-----DRAGON CLASS------------------------// class Dragon extends Animal { public function __construct($name) { $this->name = $name; $this->hp = 170; } public function fly()
public function displayHealth() { echo "Name: {$this->name}\n"; echo "Health: {$this->health}\n"; echo "This is the dragon!\n"; } public function fly() { $this->health = $this->health - 10; return $this; } } $anim1 = new Animal(); $anim1->walk()->walk()->walk()->run()->run()->displayHealth(); $anim2 = new Dog(); $anim2->walk()->walk()->walk()->run()->run()->pet()->displayHealth(); $anim3 = new Dragon(); $anim3->walk()->walk()->walk()->run()->run()->fly()->fly()->displayHealth(); /* Now, create another class called Dog that inherits everything that the Animal does and have, but 1) have the default health by 150 and 2) add a new method called pet, which when invoked, increase the health by 5. Have the Dog walk three times, run twice, petted once, and have it display its health. */ /* Now, create another classed called Dragon that inherits everything that the Animal does and have, but 1) have the default health be 170 and 2) add a new method called fly, which when invoked, decreased the health by 10. Have the Dragon walk three times, run twice, fly twice, and have it