Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Obiektowe - podstawy
Forum PHP.pl > Forum > Przedszkole
wertyg
Ucze sie programowania obiektowo i mam taki problem:

Istnieje klasa Tabela
  1. Class Tabela{
  2. protected $tablicaAsocjacyjna;
  3.  
  4. function __Construct($tablica){
  5. $this->tablicaAsocjacyjna = $tablica;
  6. }
  7.  
  8. }


Moj plan jest taki zeby utworzyc klase Akcje ktora zawierala by metody modyfikowania $tablicyAsocjacyjnej.
Tzn klasa Akcje zawierala by np. metode dodajWiersz, usunWiersz, pokazTabele itd.

Np. jesli

Class Akcje {
function pokazTabele() {
.....
}
}
To
1)Jak napisac klase Akcje, zeby funkcja pokazTabele domyslnie bez podawania parametru operowala na $tablicaAsocjacyjna (z klasy Tabela)

I jednoczesnie

2)Jak napisac klase Tabela, zeby wszystkimi metodami z klasy Akcje mozna sie bylo poslugiwac z poziomu k.Tabela
tak jak:
$tabela = new Tabela($tablica);
$tabela->metoda($nrWiersza);


Nie wiem czy to w ogole mozliwe, tak jak pisalem dopiero zaczynam nauke

Jesli ten sposob nie jest mozliwy to byc moze istnieje jakis inny ktory pozwoli mi wydzielic metody do innej klasy?
Glownie o to mi chodzi.
scanner
Czytam trzeci raz Twój post i wciąż nie wiem, czego Ci potrzeba.
I po co takie kombinowanie?

Wyznaję zasadę, ze jeśli chcesz się nauczyć programować obiektowo, zaprojektuj sobie obiekty odzwierciedlające rzeczywistość - Pokój, w nim drzwi, okna, meble. Pomyś co możesz robić z tymi "przedmiotami' - jak sie wzajemne zazębiają i dziedziczą. Coś abstrakcyjnego, operującego na jeszcze bardziej abstrakcyjnej tablicy, tylko Ci namiesza w głowie.
wertyg
Chodzilo mi o to zeby klasa Tabela miala swoje metody w osobnej klasie Akcje. Wymyslilem sobie ze bede je tam dodawal i modyfikowal ale to chyba rzeczywiscie nie ma sensu i jest nie po obiektowemu


Szymciosek
No nie jest chyba za bardzo...
Klasa -> Zmienne, metody na których działasz w obrębie klasy. Tak jak kolega wyżej napisał, okno np, co możesz zrobić z oknem ? Otwórz, Zamknij, a dodatkową klasą może być Szyba, co z nią możesz zrobić ? Rozbić.
Tak jakoś spróbuj połączyć 2 klasy.

Nie ma potrzeby robienia 2 klas, jedna w sumie pusta, a druga zawiera metody pierwszej.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.