Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> mały problem z dziedziczeniem
kaem
post
Post #1





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


Jestem nowym użytkownikiem na forum, więc może na początek się przywitam. A więc witam (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Niedawno zacząłem się uczyć PHP i napotkałem na taki oto problem: otóż mam dwie klasy, jedna dziedzicząca
CODE

class A
{
private $a1;
//...
}
class B extends A
{
var $a2;
//...
}

Potem wpisuje taki oto kod:
CODE

$b=new B();
$b->a1=11;
echo "$b->a1;";

I normalnie wyświetla mi wartość zmiennej $a1 równą 11, a przecież, z tego co wyczytałem klasa dziedzicząca nie powinna dziedziczyć pól prywatnych (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) Nie powinno tu być jakiegoś błędu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
ARJ
post
Post #2





Grupa: Zarejestrowani
Postów: 453
Pomógł: 22
Dołączył: 20.09.2004
Skąd: Kraków - NH -

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


zauważ wywołanie klasy user
common.php
  1. <?php
  2. // Instantiate some basic classes
  3. $user = new user();
  4. $auth = new auth();
  5. $template = new template();
  6. $cache = new cache();
  7. $db = new $sql_db();
  8. ?>


index.php
  1. <?php
  2. // Start session management
  3. $user->session_begin();
  4. $auth->acl($user->data);
  5. $user->setup('viewforum');
  6. ?>


klasa user przecież dziedziczy po klasie session metodę session_begin, a tam są zapisywane dane do zmiennej data. więc klasa user ustawia sobie zmienną data.

phpbb3 nie jest dobrym przykładem do podejścia obiektowego. pisane pod php4, użycie globali oraz takie dziwne techniki jak 2 klasy w jednym pliku.
Go to the top of the page
+Quote Post
Sedziwoj
post
Post #3





Grupa: Zarejestrowani
Postów: 793
Pomógł: 32
Dołączył: 23.11.2006
Skąd: Warszawa

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


Cytat(ARJ @ 25.07.2008, 22:14:20 ) *
dziwne techniki jak 2 klasy w jednym pliku.

To jest tylko konwencja, tak jak nazewnicza, więc tego bym nie wymieniał, ale reszta jeży włos na głowie.
Go to the top of the page
+Quote Post

Posty w temacie
- kaem   mały problem z dziedziczeniem   29.06.2008, 13:28:09
- - revyag   A co masz w tej klasie ? To wygląda na jakby była ...   29.06.2008, 14:06:02
- - kaem   Właśnie chodzi mi o to, że to przypisanie nie powi...   29.06.2008, 14:29:35
- - revyag   Napisałem przecież żebyś pokazał jak wygląda kod k...   29.06.2008, 15:00:40
- - kaem   Gdyby w tej klasie było coś istotnego mogącego wpł...   29.06.2008, 15:15:23
- - dr_bonzo   W koncu konkretny kod ktory mozna uruchomic. Wiec ...   29.06.2008, 15:57:54
- - kaem   Hmm, no to rzeczywiście wygląda jakby PHP ustawiał...   29.06.2008, 16:38:32
- - dr_bonzo   __set() + rzucanie wyjatku   29.06.2008, 17:01:57
- - kaem   Ok, dzięki wielkie. Przejrzę sobie co nieco o tyc...   29.06.2008, 18:19:26
- - dr_bonzo   Ewentualnie w __set() mozesz po prostu nic nie rob...   29.06.2008, 18:47:21
- - kaem   Tak jak na początku napisałem, php'a zacząłem ...   29.06.2008, 22:43:46
- - Sedziwoj   Dlaczego w klasie B masz var? Przecież to kod PHP4...   30.06.2008, 09:34:16
- - kaem   Jeśli chce się używać modyfikatorów dostępu to wpi...   30.06.2008, 11:09:33
- - Sedziwoj   @kaem Ty nie rozumiesz, var to było w PHP4, odpowi...   30.06.2008, 11:16:38
- - kaem   No ok, pytam bo uczę się teraz z książki niby już ...   30.06.2008, 11:55:54
- - Sedziwoj   http://www.php.net/manual/en/language.oop5.visibil...   30.06.2008, 12:28:43
- - kaem   A no właśnie. Ja już używam PHP ver. 5.2.6 i dlate...   30.06.2008, 13:00:36
- - Heweliusz   Jeżeli można, chciałbym podpiąć się do tematu, mam...   24.07.2008, 18:42:14
- - kwiateusz   j.w. byl juz temat o tym ze dziedziczenie ma byc l...   24.07.2008, 22:04:59
- - manro   W klasie A zmienną a1 powinieneś zadekla...   24.07.2008, 22:23:04
- - Heweliusz   CytatCo do pytania które zostało podpięte do temat...   25.07.2008, 11:36:46
- - manro   Mała podpowiedź Klasa dziedzicząca dziedziczy pu...   25.07.2008, 11:44:04
- - Heweliusz   Mój skrypt wzoruje na phpbb3. Dlaczego więc p...   25.07.2008, 20:24:51
- - ARJ   zauważ wywołanie klasy user common.php [PHP] pobie...   25.07.2008, 21:14:20
|- - Sedziwoj   Cytat(ARJ @ 25.07.2008, 22:14:20 ) dz...   26.07.2008, 15:55:48
- - Heweliusz   Już wiem co było nie tak ^^ Nie zauważyłem, że kla...   26.07.2008, 17:38:16


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

 



RSS Aktualny czas: 14.10.2025 - 05:33