![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Czy ktoś mógłby mi wytłumaczyć w jakiś logiczny i zrozumiały sposób do czego służą klasy i obiekty ? Co zyskujemy korzystając z nich ? Czytam kursy o klasach i obiektach , ale dalej nie rozumiem o co chodzi. Proszę o wyjaśnienie i jakieś proste przykłady
|
|
|
![]() |
![]() ![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 111 Pomógł: 10 Dołączył: 16.07.2009 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Benio101, przeciez autor napisal ze nic z kursow nie rozumie. To akurat nic dziwnego bo co jak co ale obiektowy w naszym polskim necie jest wytlumaczony tak ze sam autor kursu nie wie co napisal
![]() ![]() ![]() Z racji ze sam zaczynam z OOP, nie chce Ci mącic. Polecam pisac, po trochu a z czasem (kilka dni) zrozumiesz o co chodzi w klasach i obiektach, choc to dopiero poczatek. Czytaj dalej kursy i staraj sie analizowac skrypty. To nic dziwnego ze nie rozumiesz o co chodzi, nikt w 10 min tego nie zrozumie. Pozdrawiam i owocnej nauki Ten post edytował MateuszScirka 17.10.2009, 17:26:31 -------------------- O! Zimniok :P
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Cytat Benio101, przeciez autor napisal ze nic z kursow nie rozumie. To akurat nic dziwnego bo co jak co ale obiektowy w naszym polskim necie jest wytlumaczony tak ze sam autor kursu nie wie co napisal Buhahah chyba kursy z yoyo.pl zastanow sie zanim cos powiesz tez tak na poczatku myslalem i jest to bledne myslenie. Kamil114 poczytaj o MVC wez jakis prosty FW Kohana lub jakis prywatny projekt przeanalizuj kod. Sprobuj napisac cos sam byle co i pokaz to na forum a dowiesz sie co zle zrobiles to jest dobra droga do nauki. -------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Znalazłem taki kod:
Powiedzcie mi tylko po co stosować klasy ? Wyczytałem gdzieś , że klasa to zbiór funkcji , ale przecież można też zrobić parę funkcji , więc po co przypisywać je do klasy ? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
A no widzisz to jest dobre pytanie. Tez je zadawalem. W sumie masz racje, dla takich skryptow jak ten powyzej nie ma sensu pisac klasy. Bo ten skrypt mozna skrocic. Ale jezeli masz pisac cala duza strone to obiektowy to bardzo dobre rozwiazanie, te wszystkie wzorce projektowe, uniwersalnosc itd.
Napisali dlatego taki skrypt w obiektowym bo przeciez nie dadza Ci od razu calej strony do analizowania, chca zebys zrozumial jak wyglada OOP, podstawowe zagadnienia, napisal latwo przyklad takiej klasy. Ten post edytował MateuszScirka 17.10.2009, 18:18:49 -------------------- O! Zimniok :P
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Ale bez programowania obiektowego też można pisać strony i są dobre. Ciągle nie widzę zastosowania oob.
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Są dobre, ale ciezej je zmodyfokowac. Zeby dodac jakas przydatna opcje musisz grzebac w kodzie. Sam jeszcze nie odkrylem magii OOP ale bez powodu wiekszosc stron w oop pisana nie jest. Wiec jakis sens musi w tym byc.
-------------------- O! Zimniok :P
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
No właśnie , szukam tego sensu , bo dla mnie oop jest dość trudne i zastanawiam się czy jest sens się go uczyć , tym bardziej , że php znam całe , ale po trochu , nie umiem go tak super dobrze. Mysql też znam trochę.
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
Powiem tak, sam znam php na tyle na ile jest mi potrzebne. Jak czegos nie wiem, to szukam. Mysql to tyle ze umiem zapytania do bazy i w phpmyadminie ;D
Mysle ze nie trzeba znac az tak pro zeby pisac w oop bo tam z nowych rzeczy to dochodza tylko typowe dla oop pojecia praktycznie (klasa, obiekt, konstruktor, dziedziczenie itd.). Sam jeszcze nie napisalem nic duzego, mowia ze trzeba korzystac z wzorcow projektowych itd. Poczytaj o tym jak juz opanujesz podstawy OOP. Zrob tak: nie mysl czy to potrzebne, ze mozna szybciej itd. ale napisz cos w OOP, cos najprostrzego co moze byc, tak jakbys sie od nowa jezyka uczyl, jakby php byl tylko obiektowy ;D np.
Pisz podobne rzeczy. Z tego co mi mowia to nie wolno pisac w klasie HTMLa (tagow, znacznikow np .<a>, <p> itd, zawsze zwracaj wartosc w funkcji (return). -------------------- O! Zimniok :P
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Niepotrzebnie zadeklarowana zmienna $pole, bezsens nadawać jej akcesor publiczny i przypisywać wartość w przypadku gdy ją zwracasz, po co Ci dodatkowy dostęp przez $obKwadrat->pole ? Wiem, że podałeś tylko przykład, ale lepiej uczyć kogoś od początku poprawnie używać OOP.
Klas nie tworzysz dla jednej funkcji, w tym przypadku podzielimy je na pole i objętość, a w niej metody dla poszczególnych figur geometrycznych. Pozdrawiam ![]() Ten post edytował sniffer32 17.10.2009, 22:48:28 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 1 429 Pomógł: 195 Dołączył: 6.10.2008 Skąd: Kraków/Tomaszów Lubelski Ostrzeżenie: (0%) ![]() ![]() |
czemu nie uzywasz wew klasy $this-> ?
-------------------- O! Zimniok :P
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Bo zmienne sa parametrami funkcji a nie polami danej klasy.
-------------------- Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/ Moj blog |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
A czy umiałby mi ktoś wytłumaczyć do czego służy odwołanie $this. Czytam kursy , ale nie mogę tego zrozumieć. Po co to się stosuje i w jakich sytuacjach ?
Mam na przykład taki kod:
I tutaj nie zastosowałem odwołania $this i wszystko działa. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 62 Pomógł: 5 Dołączył: 31.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
$this używamy odwołując się do czegoś wewnątrz klasy. Chcąc zrobić coś ze zmienną/metodą wewnątrz klasy użyjesz $this->Metoda(); albo $this->Zmienna;
Poza klasą czyli jak już gdzieś się do niej odwołasz i będziesz miał na przykład $Klasa = new Klasa; i będziesz chciał się odwołać do tej samej zmiennej lub metody to napiszesz $Klasa->Metoda(); lub $Klasa->Zmienna; |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Mniej , więcej rozumiem , ale czy bez utworzenia wcześniej referencji ($this) , można też się odwołać do zmiennej lub funkcji. Bo wydaje mi się , że ja się odwołałem do funkcji , a nie użyłem $this.
Proszę o pomoc. Ten post edytował kamil1114 1.11.2009, 18:55:01 |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 156 Pomógł: 31 Dołączył: 23.02.2009 Skąd: Sanok Ostrzeżenie: (0%) ![]() ![]() |
$this używasz tylko wtedy kiedy odwołujesz się wewnątrz klasy do metod i zmiennych tej klasy. Np.
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 654 Pomógł: 121 Dołączył: 27.10.2007 Skąd: Poznań, Łódź Ostrzeżenie: (0%) ![]() ![]() |
Hej
Patrząc na Twe pierwsze próby z programowaniem obiektowym zauważyłem, iż kierujesz się w złą stronę... Uogólniając OOP polega na tym aby zamknąc w ramach klasy wlasciwosci i metody indywidualne dla danego obiektu... W Twoim przypadku kod klasy powinien wygladac tak:
Oczywiście to tylko propozycja szkieletu, bo idąc dalej można by zdefiniowac klase abstrakcyjna Figura i po niej dziedziczyć powinny konkretne klasy Kwadrat, Prostokat, Trojkat... Pozdrawiam -------------------- |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 156 Pomógł: 31 Dołączył: 23.02.2009 Skąd: Sanok Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 14:14 |