ФорумПрограммированиеPHP для идиотовPHP и ООП → parent::*,static var - нельзя,как тогда?

parent::*,static var - нельзя,как тогда?

  • rider-sx

    Сообщения: 2717 Репутация: N Группа: Адекваты

    Spritz 9 августа 2009 г. 19:12

    а сделать родителем васимертвого сашу никак?
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 9 августа 2009 г. 19:14, спустя 1 минуту 48 секунд

    статичная переменная тут не подходит
    при чем тут статичные члены класса?
    adw/0
  • imlil

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 9 августа 2009 г. 19:15, спустя 1 минуту 46 секунд

    ну это если вдруг кто не поймет что значение у каждого уникально :) {+++16+++}
    а сделать родителем васимертвого сашу никак?

    А что это даст?
  • imlil

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 9 августа 2009 г. 19:22, спустя 6 минут 23 секунды

    Не понял про что вы тогда,если можно код.
    Мне статус васи нужен а не саши)
  • rider-sx

    Сообщения: 2717 Репутация: N Группа: Адекваты

    Spritz 9 августа 2009 г. 19:27, спустя 4 минуты 52 секунды

    Ну вопрос как я понял был про то чтоб получить статус саши )))
    {+++16+++} а, ты уже подправил )
  • imlil

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 9 августа 2009 г. 19:29, спустя 2 минуты 12 секунд

    Опишу реальную ситуацию,есть 1 класс от которого наследуются другие классы,чтобы более проще работать с совершенно иным класом,проще работать имеется ввиду,что родитель делает всю черную работу за "детей",так вот эти самые дети меняют/присваивают значения некоторым членам родительского класа. Так вот вопрос как в таком окружении,совершенного левому классу "правильно" унаследоватся от одного из детей родителя и получить доступ к "новым" значениям родителя,которые изменил наследник.

    Система предусматривает доступ к ним через паттерн registry,но хотелось бы как-то более красивей чтоли сделать и логичней,так как написано выше.
  • imlil

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 10 августа 2009 г. 1:58, спустя 6 часов 29 минут 9 секунд

    Идеи,соображения? Или это не возможно?!
  • imlil

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 10 августа 2009 г. 2:22, спустя 24 минуты 2 секунды

    Отличий как и работоспособности тож нет:)
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 10 августа 2009 г. 16:44, спустя 14 часов 21 минуту 49 секунд

    class Register {
    private $state;
    private $instance;
    private function __construct(){
    }
    public function __instance(){
    if($this->instanceinstance)
    $this->instance= new __CLASS__;
    return $this->instance;
    }
    public function setState($newState){
    $this->state = $newState;
    }
    public function getState(){
    return $state;
    }
    }



    class Child1 extends Parent
    {
    public function changeVariable()
    {
    $this->variable = 'changed';
    Register::__instance()->setState($this->variable );
    }
    }

    class Child2 extends Parent
    {
    public function returnVariable()
    {
    return Register::__instance()->getState();
    }
    }

Пожалуйста, авторизуйтесь, чтобы написать комментарий!