po co w metodzie klasy odwoływać się do zmiennych przez $this? Bez tego też działa.
jaki jest domyślny typ (public, private) pola które nie jest deklarowane? ( i w ogóle po co je deklarować)
jak z metody zwrócić kilka wartości? Jeżeli nadałem im typ public to i tak jest widoczna tylko w klasie a nie poza nią, return przyjmuje tylko jedną zmienną
Książka z której się uczę nie odpowiada na te pytania a w googlach nic nie znalazłem.
Postaram się na te pytania odpowiedzieć, moze mało profesjonalnie, ale jak bede mógł, więc:
Odwoływanie do zmiennych bez $this, self prowadzi tylko do zmiennych w metodzie, jeśli użyjemy tamtych operatorów odwołujemy się do zmiennnych w klasie, nie metodzie.
Domyślny typ jest … żaden. Wywali błąd. Deklaruje się je poto żeby określić czy zmienna/metoda ma byc dostępna z zewnątrz. Priavte tylko do wewnątrz.
Niee, do zmiennych/method typu public możesz się dostać z zewnątrz, bez problemu…
Opisałem co wiem, dopiero mało się na tym znam. Pozdrawiam.
EDIT: Jak masz jeszcze jakieś pytania to pisz na gadu w profilu.
błędu nie wywali, bo przecież możesz z dowolnej metody utworzyć nowe pole obiektu poprzez $this->pole i tak utworzone pole będzie public. Po co w ogóle są specyfikatory dostępu? google: hermetyzacja
bez pseudo obiektu $this zadziałają tylko zmienne lokalne, nie dostaniesz się do zmiennych obiektu z wnętrza klasy bez tego
to zależy. jeżeli metoda jest statyczna to możesz po prostu zrobić
::metoda();[/code]
jeżeli nie jest statyczna, to mususz stworzyć wpierw instancję tej klasy
[code=php]= new Klasa2;$obj_kl2-metoda();
rozumiem z tego co piszesz, że próbowałeś skorzystać z tej drugiej metody, ale pewnie Ci się pokręciły znaczki, nie ma - po news ;) musisz przypisać instancję obiektu do zmiennej czyli stosujesz operator przypisania =
A fakt ze mi się znaczki pokręciły za dożo tego php na dziś A jeszcze jedno (no może 2 ;)) Co to znaczy ze metoda jest statyczna? Ten przykład z wiki do mnie nie przemawia :). A co w ogóle jest obiektem? o_O Po lekturze Wikipedii zrozumiałem że to synonim klasy ale to nie jest klasa
obiektem jest instancja danej klasy. każda klasa może posiadać w dokumencie wiele obiektów (generalizując, bo mogą istnieć klasy nie pozwalające na tworzenie wielu instancji vide Singleton)
No dzięki chyba skapowałem A co do tego Eclipse to rzeczywiście mam to PDT (tak to jest jak się nie umie człowiek wysłowić ;)) Wcześniej miałem Notepad++ i w UFT-8 pod firefoxem 3 nie wyświetlało mi poprawnie chyba ś i ą a pod Eclipse mogłem sobie kodowanie na ISO ustawić i teraz wszytko śmiga. Dzięki za pomoc!
hmm, też spotykałem się czasem z różnymi problemami gdy korzystałem (nadal korzystam) z Notepada++ i UTF-8, przyczyną było najczęściej błędnie wybrane kodowanie, nie powinno ię wybierać UTF-8, a UTF-8 without BOM (było też chyba coś w stylu ASCII as UTF)
Też miałem problem z tym BOM ale wystarczyło wybrać UFT-8 without BOM i był spokój. Już się przyzwyczajam do tego PDT - podoba mi się A czy to w ogóle się w systemie nie instaluje? Bo nie było żadnego instalatora tylko chyba stworzył workspace.