Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Доступ к методам и свойствам родителя (http://forum.oszone.net/showthread.php?t=55851)

XCodeR 29-10-2005 14:10 368690

Доступ к методам и свойствам родителя
 
Есть структура Object1->Object2->MethodsOfObject2

Как мне получить доступ к методам и свойствам Object1 из Object2?

elfoflorien 30-10-2005 15:28 368888

Xcode
из текста программы
Object::method();
Object::property;
или
$class= new ClassName();
$class->method();
$class->property;
а методы и свойства родительских классов находятся так:
из класса Object2 в Object1
parent::method();
parent::property;

XCodeR 31-10-2005 21:20 369336

а в 4 работает?...
про parent:: я знал... только не был уверен работает ли он в 4 версии... не ввели ли его только в 5-й?

mar 31-10-2005 22:08 369344

Xcode
судя по вопросу, речь идет о PHP? тогда да, в 4-ой версии тоже так можно. Вообще, лучше впредь уточнять о каком языке речь :)

vadimiron 01-11-2005 00:28 369363

Цитата:

Вообще, лучше впредь уточнять о каком языке речь
Лол, я в начале вообще подумал, что речь идёт о JavaScript (не знаю почему даже), поэтому даже не пытался подумать о возможном ответе на данный вопрос :)
Xcode, лучше всегда сразу говорить, о каком языке речь

XCodeR 02-11-2005 15:58 369878

vadimiron, mar
ок, впредь буду. Просто даже не подумал, что может быть аналогия с JS.

mar 02-11-2005 18:57 369917

Xcode
вообще-то может быть аналогия с любым объектно-ориентированным языком программирования :)

elfoflorien 03-11-2005 12:28 370069


mar
значит в принципе одни и те же задачи в разных ООП будут выполняться примерно одинакого? :)

XCodeR 04-11-2005 01:39 370240

elfoflorien
имхоо, да.
а в схожих языках - 100% да(PHP, C)

XCodeR 04-11-2005 18:41 370413

Parent::
работает только если создавать класс использовая к.с. extends

А ка быть если "дочерний" класс объявляется в самом классе.
Т.е.
у меня есть
class C1{
var $c2;
function C1()
{
$this->c2=new C2();
}
}

как в таком случае полусить доступ к содердимому C1 из C2?...
в таком случае получается, что C1 не ролитель, а содержатель класса C2.

XCodeR 04-11-2005 19:00 370418

уф!
никто еще не успел написать RTFM!...

иногда полезно сначала самому подумать, а потом лезть с вопросами.

проблема решается использованием оператора(это не оператор, но я не знаю как это назвать) "::"

Синтаксис
TargetClass::TragetClassMethods


Единстевнное, что интересно, как получить доступ к не статичным переменным???.
и поддерживается ли "static" в 4 версии?

mar 05-11-2005 01:14 370485

Цитата:

никто еще не успел написать RTFM!...
так выходные же =)
По поводу схожести языков. PHP похож (но только по синтаксису) на С++ (а не на C).

static в 4 имеется

XCodeR 05-11-2005 11:38 370539

Цитата:

По поводу схожести языков. PHP похож (но только по синтаксису) на С++ (а не на C).
да, я имел ввиду "++"...

остается открытым вопрос как получить доступ к не static переменным?
P.S. в мануале еще не рылся...

elfoflorien 05-11-2005 13:40 370558

Xcode
Цитата:

P.S. в мануале еще не рылся...
поройтесь :)


Время: 05:57.

Время: 05:57.
© OSzone.net 2001-