1. alexxorlovv - 28 Ноября, 2013 - 04:09:26 - перейти к сообщению
Парни кто нибудь знает как на stdclass сделать extends? допустим приходит json stdclass он декодируется. А затем нужно чтобы он унаследовал все методы другого класса.Как такое можно сделать?(если вообще это возможно) может есть какой то DesignPattern?
2. armancho7777777 - 28 Ноября, 2013 - 04:48:27 - перейти к сообщению
Только путём агрегирования.
3. tato - 28 Ноября, 2013 - 04:51:14 - перейти к сообщению
Есть агрегация и композиция. Это когда объекты одного класса входят в другой.
например:
например:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- class Test
- {
- private $_obj;
- public function __construct( $obj )
- {
- $this->_obj = $obj;
- }
- public function getName()
- {
- return $this->_appendString( $this->_obj->name );
- }
- private function _appendString( $string, $prefix = 'pref_' )
- {
- return "$prefix$string";
- }
- }
- $test = new Test( $std_class );
- echo $test->getName();
(Добавление)
еще можно использовать __call() для доступа к методам.