Войти

Показать полную графическую версию : Доступ к методам и свойствам родителя


XCodeR
29-10-2005, 14:10
Есть структура Object1->Object2->MethodsOfObject2

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

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

XCodeR
31-10-2005, 21:20
а в 4 работает?...
про parent:: я знал... только не был уверен работает ли он в 4 версии... не ввели ли его только в 5-й?

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

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

XCodeR
02-11-2005, 15:58
vadimiron, mar
ок, впредь буду. Просто даже не подумал, что может быть аналогия с JS.

mar
02-11-2005, 18:57
Xcode
вообще-то может быть аналогия с любым объектно-ориентированным языком программирования :)

elfoflorien
03-11-2005, 12:28
mar
значит в принципе одни и те же задачи в разных ООП будут выполняться примерно одинакого? :)

XCodeR
04-11-2005, 01:39
elfoflorien
имхоо, да.
а в схожих языках - 100% да(PHP, C)

XCodeR
04-11-2005, 18:41
Parent::
работает только если создавать класс использовая к.с. extends

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

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

XCodeR
04-11-2005, 19:00
уф!
никто еще не успел написать RTFM!...

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

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

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


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

mar
05-11-2005, 01:14
никто еще не успел написать RTFM!...
так выходные же =)
По поводу схожести языков. PHP похож (но только по синтаксису) на С++ (а не на C).

static в 4 имеется

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

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

elfoflorien
05-11-2005, 13:40
Xcode
P.S. в мануале еще не рылся...
поройтесь :)




© OSzone.net 2001-2012