Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sens dziedziczenia i jego zasada, na przykładzie klasy DB i klasy galerii
yasiek
post
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 4.06.2006
Skąd: Strzeszyce/Kraków

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


Powiedzmy, że opanowałem już tworzenie obiektów w php. Jednak to moje "opanowanie" to właściwie podstawy. Chciałbym zrozumieć jeszcze kilka rzeczy, a większośc artykułów jakie znalazłem, to albo dla całkowicie początkujących, albo dla totalnie zaawansowanych.

Przytoczmy na przykład dwie klasy:

klasa DB: odpowiedzialna za operacje na bazie danych; główne funkcje - konstruktor, który łączy z bazą, funkcja query, fetchAssoc, numRows no i close.

klasa gallery - no i powiedzmy, że chciałbym mieć tutaj funkcje odpowiedzialne za wprowadzanie rysunków, wyświetlanie według kategorii, według usera, wyświetlanie jednego obrazka itp itd

No i teraz moje pytanie(a) - czy klasa gallery powinna dziedzyczyć klasę (po klasie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ) DB? no i w jaki sposób? czy powinna mieć własnego konstruktora? które funkcję powinny mieć status private, public (i na co one pozwalają)?i jak użyć klasy macierzystej w klasie "pochodnej"?

Wiem, ze dużo zagadnień i zapewne odpowiedzi będą nieco dłuższe niż pytania, dlatego jak ktoś znajdzie chwilkę, to byłbym niezmiernie wdzięczny, gdyby coś tutaj napisał (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

P.S. ups.. sorry za tamten temat... widocznie gdzieś wcisnąłem niepotrzebnie enter... proszę o wyrzucenie tamtego wątku i z góry dzięki!

Ten post edytował yasiek 25.08.2006, 10:16:08
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
yasiek
post
Post #2





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 4.06.2006
Skąd: Strzeszyce/Kraków

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


Cytat
Piszesz że opanowałeś podstawy, a widać że nawet manuala do końca nie przeczytałeś skoro nie wiesz jak klasy bazowej w klasie dziedziczącej i nie znasz różnicy pomiędzy private i public.

Ok, w takim razie nie opanowałem podstaw - proszę o wybaczenie. Chodzi mi o przedstawienie w praktyktyce. Private - tylko w metody danej klasy, public - danej i pochodnej. Dobrze mówię? no i jak w takim razie w klasie gallery wykonywać zapytania sql używając klasy db?

Cytat
Nie. Widac zupelnie nie zrozumiełeś idei oop. Nie martw się - większośc osób tak ma.

No mniej więcej łapie to od strony teoretycznej. Ale nie wiem jak z praktyką... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował yasiek 25.08.2006, 10:33:29
Go to the top of the page
+Quote Post
mike
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(yasiek @ 25.08.2006, 11:30 ) *
No mniej więcej łapie to od strony teoretycznej. Ale nie wiem jak z praktyką... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Nie obraź sie ale daleki jesteś od złapania teoretycznego (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Dziedziczenie jest to nic innego jak rozszerzanie.

OOP to mapowanie rzeczywistości na obiekty. Weźmy na przykład pokój.
Mamy klasy: Mebel, Wyposażenie, Urządzenie.

Teraz mamy klasy: Szafa, Stołek, Łóżko, .... Wszystkie one dziedziczą po czym? Po Meblu.
Mamy klasy: Kaloryfer, RuraWŚcianie, ... One dziedziczą po Wyposażenie
A klasy: DVD, Komputer, HiFi, Ołówek, ..., dziedziczą po Urządzenie.

Programowanie w OOP jest to przedstawianie rzeczywistości za pomocą obiektów i definiowanie między nimi zależności.

Na przykład możesz stworzyć klasę: Ubranie. Do niej: Majtki, Portki, Kurtka, one dziedziczą po Ubranie.
A wspomniana wcześniej Szafa jest kolekcją Ubrań.

Możesz też zrobić klasy UrządzenieElektroniczne i UrządzenieZwykłe dziedziczące po Urządzenie i dopiero teraz zdecydować po którym urządzeniu będzie dziedziczyć każda z klas: DVD, Komputer, HiFi, Ołówek


To jest OOP
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.10.2025 - 21:31