Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 2 podobne klasy, jak zrobić dla nich klasę rodzica ?
enigma
post
Post #1





Grupa: Zarejestrowani
Postów: 163
Pomógł: 0
Dołączył: 10.09.2006

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


jeszcze mało miałem do czynienia z obiektami i mam problem jak zrobić dziedziczenie
załóżmy że mam 2 klasy: uczeń i nauczyciel
w każdej z tych klas będzie zmienna (tablica), konstruktor no i funkcje no i funkcje (pobierz_dane, dodaj, usuń, zmień)

jak chciałbym zrobić klasę podstawową np. osoba a uczeń i nauczyciel jako dziedziczące to
w w osoba byłyby funkcje a w uczeń i nauczyciel dziedziczyłyby te funkcje no i miały swoje konstruktory, oraz swoje tablice na dane)

no i problem jest z klasą osoba, nie bardzo wiem jak ją utworzyć

część klas bez dziedziczenia
  1. <?php
  2. class Uczeń
  3. {
  4.  $zUczenTab = array
  5.  (
  6.  'idUczen' => null,
  7. 'Klasa_idKlasa' => null,
  8. 'imie' => null,
  9. 'nazwisko' => null,
  10. 'adres' => null,
  11. 'telefon' => null,
  12. 'imie_ojca' => null,
  13. 'imie_matki' => null
  14. );
  15.  
  16. $zUczenIndeksy = 'idUczen, Klasa_idKlasa, imie, nazwisko, adres, telefon, imie_ojca, imie_matki';
  17.  
  18. function __construct($zTablica)
  19. {
  20. if(!is_array($zTablica)) return;
  21.  
  22. foreach($zTablica as $zKlucz => $zWartosc)
  23. $this -> zUczenTab[$zKlucz] = $zWartosc;
  24. }
  25.  
  26. function fPobierzDane($zWartosci, $zKryteria = null)
  27. {
  28.  //
  29. $zSQL = 'SELECT '.$zWartosci.' FROM uczen'.$zWarunek;
  30. //
  31. while($zIle--)
  32. {
  33.  //
  34. $zListaUczniow[] = new Uczeń($zDane);
  35. }
  36.  
  37. return $zListaUczniow;
  38. }
  39. }
  40. ?>


  1. <?php
  2. class Nauczyciel
  3. {
  4.  $zNauczycielTab = array
  5.  (
  6.  'idNauczyciel' => null,
  7. 'imie' => null,
  8. 'nazwisko' => null,
  9. 'telefon' => null,
  10. );
  11.  
  12. $zNauczycielIndeksy = 'idNauczyciel, imie, nazwisko, telefon';
  13.  
  14. function __construct($zTablica)
  15. {
  16. if(!is_array($zTablica)) return;
  17.  
  18. foreach($zTablica as $zKlucz => $zWartosc)
  19. $this -> zNauczycielTab[$zKlucz] = $zWartosc;
  20. }
  21.  
  22. function fPobierzDane($zWartosci, $zKryteria = null)
  23. {
  24.  //
  25. $zSQL = 'SELECT '.$zWartosci.' FROM nauczyciel'.$zWarunek;
  26. //
  27. while($zIle--)
  28. {
  29.  //
  30. $zListaNauczycieli[] = new Nauczyciel($zDane);
  31. }
  32.  
  33. return $zListaNauczycieli;
  34. }
  35. }
  36. ?>


głównie problem jest w tym że:
1. mam wywołania new Nauczyciel i new Uczeń, jak to zrobić w klasie ogólnej
2. w obu klasach są zmienne $zUczenTab = array ... i $zNauczycielTab = array ... (mają różne komórki) a czy da się zrobić tak sprawnie żeby odziedziczone funkcje działały na tych zmiennych (bez przekazywania parametrów do funkcji)

ogólnie rzecz biorąc zastanawiam się jak zrobić klasę rodzica - Osoba na podstawie wyżej podanych fragmentów klas, żeby mogły po niej dziedziczyć

pewnie to wszystko zamotałem, ale może ktoś z Was pomoże mi smile.gif
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 20.08.2025 - 08:31