[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Абстрактный класс
serrrgggeee
Здравствйте есть такой код

<html>
<
head>
<
style>
body {font : 12px verdana: font-weight:bold;}
td {font : 11px verdana;}
</style>
</
head>
<
body>
<?php
abstract class
AbstractInstrument {

private $name;
private $category;
private $instruments = array();

public function add (AbstractInstrument & $instrument) {
array_push($this->instruments, $instrument);
}

public function remove(AbstractInstrument & $instrument) {
array_pop($this->instrument);
}

public function hasChildren() {
return(bool) (count($this->instruments) > 0);
}
}


class Cymbal extends AbstractInstrument {
function __construct($name) {
parent::setName($name);
parent::setCategory("тарелки");
}
}


$drums = new DrumSet("ударные");
$drums->add(new SnareDrum("барабан высокого звучания"));
$drums->add(new BaseDrum("большой барабан низкого звучания"));

$cymbals = new Cymbal("набор тарелок");
$cymbals->add(new Cymbal"маленькая тарелка");
$cymbals->add(new Cymbal"большая высокая шлаяп");
$drums->add($cymbals);

$guitar = new Guitar("гибсон ле поль");
$drums->getDescription();
$guitar->getDescription();

echo "Список инструментов: <p>";
?>
</body>
</
html>



немогу понять как используют
$drums = new DrumSet("ударные"); и $guitar = new Guitar("гибсон ле поль"); абстрактный класс, и почему в учебнике сказанно что $drums переопределяет метод getDescription, а $guitar нет, хотя в абстракном классе я необнаружил что этот метод определен.
$drums->getDescription();
$guitar->getDescription();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.