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

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();
}
Как по-ООПешней будет? =) И является ли говнокодерством первый вариант?
 

fixxxer

К.О.
Партнер клуба
третье, все остальное какие то пляски с бубном вокруг пустого места
 
  • Like
Реакции: Gas

Gas

может по одной?
PHP:
class BaseModel extends CModel { }
а это должно вызвать compile error, что не реализован абстрактный метод, разве не?
 
Сверху