Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pytanie o klasy
letus
post 9.04.2004, 19:16:26
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 24.01.2004
Skąd: Ostrzeszów

Ostrzeżenie: (0%)
-----


Witam! Klasami bawię się od niedawna (właściwie kilku godzin smile.gif) i mam pytanie. No więc utworzyłem klasę a w niej pewną metodę(funkcję) nazwijmy ja a() która zwraca wartość TRUE lub FALSE, i teraz dalej pisze kolejna metodę(funkcję) niech to bedzie b() ale chcę się w niej odwołac do a() czyli po ludzku, jeśli a() zwróci TRUE to b() zrobi coś, a jak a() zwróci FALSE to b() zrobi coś innego. I moje pytanie czy wogule da się coś takiego zrobić? Jeśli tak to w jaki sposób?


--------------------
"To be or not to be..."
Go to the top of the page
+Quote Post
rze-X-nik
post 9.04.2004, 20:02:29
Post #2





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 20.03.2004
Skąd: Szczebrzeszyn

Ostrzeżenie: (10%)
X----


Jeżeli się nie mylę, to chodzi Ci o zwracanie wartości z funkcji wewnątrz klasy. Otóż nie możesz zrobić tego jak 'zwykle' czyli podając nazwę funkcji. Musisz uzupełnić to o 'this'':

[php:1:4f95fbc29a]<?php
//Wewnatrz Twojej klasy
$a = $this=>JakasFunkcja();
//
?>[/php:1:4f95fbc29a]

Sprawdź tylko czy '$this=>' jest dobrze, bo dawno się tym ostatnio bawiłem.

Pozdrówka smile.gif
Go to the top of the page
+Quote Post
letus
post 9.04.2004, 20:13:46
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 24.01.2004
Skąd: Ostrzeszów

Ostrzeżenie: (0%)
-----


$this-> biggrin.gif
Dzięki, działa smile.gif


--------------------
"To be or not to be..."
Go to the top of the page
+Quote Post
rze-X-nik
post 12.04.2004, 19:20:35
Post #4





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 20.03.2004
Skąd: Szczebrzeszyn

Ostrzeżenie: (10%)
X----


Kilka godzin temu przypomniałem sobie jak to miało być. Cieszę się, że mogłem pomóc.
Go to the top of the page
+Quote Post
lolek09
post 12.04.2004, 19:43:50
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 30.05.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ja mam problem trochę innej natury, ale do rzeczy.

Mam obiekty

Kod
+X

+-Y

+--Z


Jak z obiektór Z bądź Y wywołać metodę obiektu X? Czy to wogóle możliwe?

-----
Dobra, sam już do tego doszedłem:
[php:1:d226d4c606]<?php

class Root {
function getSomething() {
return $this->something;
}
};

class Father extends Root {
function getSomething() {
return parent::getSomething();
}
};

class Baby extends Father {
function getSomething() {
return parent::getSomething(0;
}
};
?>[/php:1:d226d4c606]

Jeśli jestem w błędzie, to proszę by mnie z niego wyprowadzono.


--------------------
Chciałbyś zobaczyć program bez błędów? Wyobraź sobie UFO, w którym Elvis doi swojego jednorożca
Go to the top of the page
+Quote Post
FiDO
post 12.04.2004, 20:23:08
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

Ostrzeżenie: (0%)
-----


Mozesz tak, ale z pomoca parent dostaniesz sie tylko do klasy rodzica bezposredniego, jak masz 3 poziomy tak jak tutaj i z ostatniego potomka chcesz sie dostac do klasy bazowej to sprobuj tak:
[php:1:abb6e9be90]<?php

class Root {
function getSomething() {
return $this->something;
}
};

class Father extends Root {
....
};

class Baby extends Father {
function getSomething() {
return Root::getSomething();
}
};
?>[/php:1:abb6e9be90]


--------------------
Brak czasu :/
Go to the top of the page
+Quote Post
lolek09
post 12.04.2004, 20:41:23
Post #7





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 30.05.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Teraz mam jednak jeszcze jedną wątpliwość. Tak jest jeśli klasy dziedziczą po sobie. Czy jednak można używać parent:: jeśli klasy nie dziedziczą a tylko zawierają się w sobie.
Chodzi mi tu dokładniej o sytuację, że mam klasy.

+Root
+-Input
+-Galeria
+--Album
+---Zdjecie

To jest schemat jak się w sobie zawierają, a nie jak dziedziczą. Chodzi mi o to, że nie ma żądnych przesłanek żeby zdjęcie dziedziczyło np po albumie. I teraz mam takie obiekty, i jak ze Zdjęcie wywołać metodę obiektu Input?


--------------------
Chciałbyś zobaczyć program bez błędów? Wyobraź sobie UFO, w którym Elvis doi swojego jednorożca
Go to the top of the page
+Quote Post
DeyV
post 13.04.2004, 14:34:08
Post #8





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




[php:1:8bfa52b38c]<?php
class Album
{
function Album()
{
$this->Zdjecie = new Zdjecie;

$this->Zdjecie->doSomthing();
}

var $Zdjecie;
}
?>[/php:1:8bfa52b38c]
Mówisz o czymś takim?


--------------------
"Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 8.07.2025 - 04:56