классы и наследование

asterisk

Новичок
классы и наследование

Добрый День.
В ходе чтения документации по классам в PHP 4.x к сожалению не смог найти ответа на свой вопрос, а именно
есть простой скрипт:
PHP:
<?php
class A
{
 var $query;
 function doLoad($str)
 {
  $this->query = $str;
 }
}

class B extends A
{

}

$parent = new A();
$parent->doLoad('~example~');

$new = new B();
var_dump($new->query);
?>
соотвественно в последней строке расчитывал получить в результате строку "~example~", но этого не произошло.
думаю что не совсем понимаю как устроены классы в php и прошу дать наводящую подсказку куда собсна копать.
Заранее Благодарен.
 

Beavis

Banned
asterisk
$new = new B();
Вы создаете НОВЫЙ объект и т.к. в классе нет конструктора, свойства объекта не инициализированы... откуда там будет "~example~", если эту строку вы запихнули в объект $parent а не $new ?
 

asterisk

Новичок
нет конструктора
действительно, немножко запутался.
ну и неверно перевел информацию о том, что в PHP4 конструктором выступает функция имеющая тоже название что и класс, в отличии от PHP5 и __construct

-~{}~ 01.10.07 16:06:

гугл сломался?
who is 'Гугл'? ;)

-~{}~ 01.10.07 16:06:

tf
... а проекты продолжают жить не смотря на смену используемого инструментария.
 

kruglov

Новичок
asterisk
Что конструктора нет - фиг с ним, гугль - это google.com, с ним тоже фиг в принципе пока. Проблема ваша в том, что вы создали 2 разных объекта (ну как создали 2 разных переменных) и удивляетесь, что там разные вещи хранятся.
 

Bakti9rov

!*|=?
мдя...

При наследовании передается прототип, схема построения родительского класса (методы, переменные, атрибуты доступа), по которым строится объект, а не сам объект.
 
Сверху