Inheriting attributes of parent class

Yurik

/dev/null
Inheriting attributes of parent class

PHP:
Class person {
 var name;
 function person(){
  $this->name='Vasya';
 }
}

Class student Extends person {
 function student(){
  echo $this->name;
// $this->person(); ??!!!
 }
}

$p=new person;
$s=new student;
Возможно ли создать экземпляр student который бы унаследовал аттрибуты экзмепляра $p без вызова конструктора базового класса?
Чтобы
$s=new student;
вывел Vasya?

типа сделать $s=$p?
 

Yurik

/dev/null
ну что же, нелзя так нельзя...
просто базовый конструктор трудоемкий и думал можно ли как чтобы не запускать его 2 раза
 

Alkinoy

Guest
Есть такой оператор ::, вызывает метод класса, который не имеет объектов. вот его и юзай.
Вот пример из мана
PHP:
class A
{
    function example()
    {
        echo "I am the original function A::example().<br>\n";
    }
}

class B extends A
{
    function example()
    {
        echo "I am the redefined function B::example().<br>\n";
        A::example();
    }
}

// нет объекта класса A.
// будет напечатано
//   I am the original function A::example().<br>
A::example();

// создаётся объект класса B.
$b = new B;

// будет напечатано
//   I am the redefined function B::example().<br>
//   I am the original function A::example().<br>
$b->example();
 
Сверху