Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 6.12.2007 Ostrzeżenie: (0%)
|
Ostatnio mnie nurtuje pytanie dot. OOP... mianowicie mam nastepujace pytania:
1. Czy wlasciwym jest pisac np. klase user uzywac jej w ten sposob by do kazdej metody podawac jakies argumenty ktore w rzeczywistosci beda odnosic sie do roznych userow? Czy tworzyc instancje klasy danego user i w tym momencie wszystkie metody obiektu nie przyjmuja argumentow dotyczących tego na jakim userze ma wykonywac operacje, poniewaz operuje na obecnym stanie obiektu - danym userze. 2. Jesli przyjac powyzsza idee, to jak rozwiazac problem gdy dany obiekt wyjsciowo ma reprezentowac jakis string. Generowac napis ktory ma zostac wyswietlony. Takich napisow ma byc 30. Tworzyc 30 obiektow tylko po to zeby je wydrukowac? Chyba troche malo optymlanie... z drugiej strony jesli skorzystac z jednego obiektu do budowania tych 30 napisow to moj obiekt zamini sie w mala fabryke i juz nie bedzie tak swietnie implementowal idei obiektowosci (tak mysle, moze blednie). Ten post edytował Beynar 19.05.2008, 22:00:08 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 6.12.2007 Ostrzeżenie: (0%)
|
Logicznym rozwiazaniem takiej obiektowości userow wydaje mi sie stworzenie oprocz klasy user, klasy users ktora reprezentuje uzytkownikow. Problem w tym aby zachowac zasade:
Obiekt reprezentujacy stan tego czym rzeczywiscie jest Jak obiekt user moze reprezentowac, czy zwracac naraz 1000 uzytkownikow? Wydaje mi sie ze powyzsza zasada moze prowadzic do calkiem niezlego przenoszenia świata realnego na programistyczny. To by prowadzilo do przejzystosci i jednoznacznosci. Efektem ubocznym moze byc nadlozenie kodu i mniejzsza optymalnosc. Ale po to w koncu jest chyba OOP - zeby nie bylo super-wydajnie tylko przejzsycie. Od super wydajnosci jest strukturalka. Przykład Obiekt klasy car oznacza konkretny samochod. Moze zwrocic markę, ilość kół, cene, obecną prędkość jazdy itd... . Ale jakże (obiekt car) może zwrocic naraz marke 1000 samochodow w bazie danych? to nie logiczne. Od zwrocenia 1000 samochodów naraz powinien być w takim razie obiekt cars ktory ze względu na szybkość mógłby operować na tablicach, z kolei ze względu na uniwersalność i przejżystość lepiej żeby zwracał obiekty klasy car - to by było logiczne. Tak jak w rzeczywistości, kiedy mówie o samochodach mam na myśli wiele poszczegolnych obiektów klasy samochód. Statyczne wspomniane przez @Cotter są być może półśrodkiem - rozwiązaniem. Przyznam, że za ich pomocą mam w tej chwili w swoim frameworku rozwiazaną kwestie budowania linku... ale jakos mnie to nie zadowala... kłóci mi się to jakos z logiką. Wg. mnie statyczna może być np. kierownica we wszystkich samochodach - okrągła. Inne cechy takie same dla danego obiektu (samochodu) można ustatecznić. Takie cechy i metody (jak np. jedź do przodu) ktore sa wspolne dla wszystkich. Ten post edytował Beynar 19.05.2008, 21:57:52 |
|
|
|
Beynar Jak traktowac obiekty? 19.05.2008, 17:08:10
dr_bonzo 1.
Cytat1. Czy wlasciwym jest pisac np. klase user... 19.05.2008, 18:14:17
Beynar Dzięki za odpowiedź
Cytat(dr_bonzo @ 19.05.20... 19.05.2008, 18:59:32
dr_bonzo A ktora chcialo by ci sie pisac 1000 razy w aplika... 19.05.2008, 19:26:34
Beynar Czyli u Ciebie adres żądania sam router sobie przy... 19.05.2008, 19:58:11
Cotter 1. Oba rozwiązania mają wady i zalety i wbrew pozo... 19.05.2008, 21:01:18
zzeus Właśnie też się ostatnio zastanawiam nad tym probl... 19.05.2008, 21:11:48 
jarek_bolo Cytat(Beynar @ 19.05.2008, 22:46:30 )... 19.05.2008, 23:26:09
Crozin CytatWg. mnie statyczna może być np. kie... 19.05.2008, 23:30:28
Beynar Tak macie racje Panowie... troche się zapędziłem z... 23.05.2008, 08:43:25
Crozin To dodaj trochę[PHP] pobierz, plaintext <?phppr... 23.05.2008, 09:09:18 ![]() ![]() |
|
Aktualny czas: 30.12.2025 - 16:55 |