Уместно ли реализация абстрактного метода через один класс?

  • Автор темы Автор темы SiZE
  • Дата начала Дата начала

SiZE

Новичок
В Yii есть класс CModel имеющий абстрактный метод attributeNames. Уместна ли такая реализация, если BaseModel никогда не будет вызван напрямую?
PHP:
abstract class CModel {
 abstract public function attributeNames();
}

class BaseModel extends CModel { }

class MyModel extends BaseModel {
 public function attributeNames(){ }
}

или необходимо делать так:
PHP:
class BaseModel extends CModel {
 public function attributeNames(){ throw new Exception('error'); }
}

или так:
PHP:
abstract class BaseModel extends CModel {
 abstract public function attributeNames();
}

Как по-ООПешней будет? =) И является ли говнокодерством первый вариант?
 
третье, все остальное какие то пляски с бубном вокруг пустого места
 
  • Like
Реакции: Gas
PHP:
class BaseModel extends CModel { }

а это должно вызвать compile error, что не реализован абстрактный метод, разве не?
 
Сверху