|
|
|
| Пишу абстрактный класс:
<?php
abstract class Item {
protected function add() {}
protected function remove() {}
}
?>
|
Другие классы, которые наследуют от класса Item имеют такие же методы, НО не свойства. Как правильнее сделать? Совсем не писать никаких свойств в абстрактном классе-родителе и объявлять их только в классах-потомках? Например так:
<?php
abstract class Item {
protected function add() {}
protected function remove() {}
}
//пример наследования
class Article extends Item {
public $title;
public $text;
public function __construct($title, $text) {
$this->title = $title;
$this->text = $text;
}
public function add() {}
public function remove() {}
}
?>
|
Или объявить одно свойство-массив, где будут храниться реальные свойства класса? Например так:
<?php
abstract class Item {
protected $prop; // где $prop - это массив свойств;
protected function add() {}
protected function remove() {}
}
//пример наследования
class Article extends Item {
public $prop; // где $prop - это массив свойств;
public function __construct($title, $text) {
$this->prop['$title'] = $title;
$this->prop['$text'] = $text;
}
public function add() {}
public function remove() {}
}
?>
|
Как будет правильнее с точки зрения повторного использования класса Item? | |
|
|
|
|
|
|
|
для: newProgrammer
(06.03.2009 в 16:02)
| | Лучше определять свойства по мере их появления, т.е. в классах-потомках
И эта, зачем определять методы в родительском классе как protected а потом их переопределять как public ? | |
|
|
|