Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как грамотнее написать класс?
 
 автор: newProgrammer   (06.03.2009 в 16:02)   письмо автору
 
 

Пишу абстрактный класс:
<?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?

  Ответить  
 
 автор: Axxil   (06.03.2009 в 16:09)   письмо автору
 
   для: newProgrammer   (06.03.2009 в 16:02)
 

Лучше определять свойства по мере их появления, т.е. в классах-потомках

И эта, зачем определять методы в родительском классе как protected а потом их переопределять как public ?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования