• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java obiektowa taka trudna?

VPS Starter Arubacloud
0 głosów
1,725 wizyt
pytanie zadane 16 sierpnia 2016 w Java przez Serwex Użytkownik (810 p.)
Witam, ostatnio uczyłem się trochę javy i doszedłem do rozdziału programowania obiektowego.

Czy tylko dla mnie to jest takie trudne? Do tej pory wszystko łatwo wchodziło mi do głowy, a tu nagle taka pustka, próbuję coś zrozumieć, ale nic, i tak już 2 dni siedzę, myślę.

Pytanie moje, czy jest jakiś pdf w internecie, żebym mógł to ogarnąć krok po kroku, czy po prostu muszę siedzieć, myśleć, aż w końcu zrozumiem?

I drugie pytanie, czy jak już zrozumiem to programowanie obiektowe, to czy potem będą jeszcze jakieś trudniejsze rzeczy, które również mnie zaniepokoją?
komentarz 17 sierpnia 2016 przez ZakosiliMiNeta Nałogowiec (30,910 p.)

Tutaj kolega Porcupine  nieźle naświetlił sytuację ale od siebie dodam tak na mym przykładzie. Jak czytam cegłe od pythona to wszystko rozumie jak referencje, OP i takie bajery bo znam Javę i troszkę C++. Czytam dekoratory w pythonie i yyy nie kminie, 2-3 dni myślenia i w miarę rozkminiam jak to działa. Spokojnie czas na zrozumienie trzeba dać 

6 odpowiedzi

+9 głosów
odpowiedź 16 sierpnia 2016 przez Porcupine Nałogowiec (31,560 p.)
wybrane 16 sierpnia 2016 przez Serwex
 
Najlepsza

To nie chodzi o to, że to jest trudne, to po prostu jest dla Ciebie nowe, wymaga trochę innego sposobu myślenia niż programowanie imperatywne. Z czasem się przyzwyczaisz, a po pewnym czasie stwierdzisz, że tak na prawdę jest to bardzo proste - w końcu jednym z założeń programowania obiektowego jest to, że ma odzwierciedlać rzeczywistość i przez to ma być takie intuicyjne i fajne.

 

I drugie pytanie, czy jak już zrozumiem to programowanie obiektowe, to czy potem będą jeszcze jakieś trudniejsze rzeczy, które również mnie zaniepokoją?

Pewnie i to całkowicie normalne. Zawsze jak jest się w czymś nowym to ogrom rzeczy do nauczenia i zrozumienia może wydawać się przytłaczający ale z czasem wszystko się w głowie poukłada i będzie dobrze. Zobaczysz jakie jazdy będą jak po raz pierwszy będziesz miał styczność z pracą z bazami danych w Javie albo jakimś dużym frameworkiem jak Spring :D 

Co do materiałów to pełno jest tego w internecie. Niektórzy wolą się uczyć z książek i inni z filmów - napewno znajdziesz coś dla siebie. A najlepiej po prostu poszukaj kilku źródeł i poczytaj o tym samym temacie po kolei w każdym z nich. Pierwsze próba czytania będzie trudna, pojawi się wiele haseł, których wcześniej nigdy nie słyszałeś, ale każda kolejna trochę rozjaśni sprawę. Szczególnie, że będziesz mieć wtedy pogląd na dany temat z różnych perspektyw. :)

+5 głosów
odpowiedź 16 sierpnia 2016 przez MichuDev Pasjonat (20,300 p.)

Musisz zrozumieć to na praktycznych przykładach. Przepisywać stare programy na bardziej Obiektowe. Kilka przykładów, które uważam za dobre: 

  • Baza pracowników, w których każdy pracownik to obiekt klasy Employee lub klasy dziedziczącej po tej klasie, Inna klasa dla szefa, inna dla programisty itp. Operuj na tych danych w kolekcjach. Obsługuj komendy dodawania, odczytu edycji itp.
  • Zwierzęta: Tworzysz abstrakcyjną klasę bazową Animal. Tworzysz klasy dla rzeczywistych zwierząt np. Bird. Pamiętaj, by każde zwierzę miało swoje dane (pola z informacjami). Wykorzystaj polimorfizm tworząc referencję (zmienną typu Animal).
  • Wykorzystaj rzecz, którą znasz np. komputer. Zrób dla niego obiekt. Jak wiesz każdy komputer ma różne podzespoły. Jakie klasy możesz zmieścić w programie: Computer (klasa przechowująca dane o podzespołach), CPU (nazwa procesora, taktowanie, cache l1,l2,l3, zastosowane technologie, producent, architektura, socket...) i klasy dla innych podzespołów. Podobnie możesz zrobić z Rowerem (koła, pedały, przerzutki), samochodem (silnik, przeznaczenie, kolor, marka, model...). Może być to również cokolwiek innego.

Programowanie obiektowe to taki pierwszy moment trudności. Później będzie trudniej, ale się przyzwyczaisz, w taki sposób, że to co kiedyś było trudne dziś będzie łatwiejsze. Jak OOP zrozumiesz solidnie, to będzie twój fundament do pisania programów opartych o wzorce projektowe, najlepsze techniki, oraz kod wysokiej jakości. 

Pamiętaj, że zrozumienie programowania obiektowego jest niezależne od języka programowania.  

Jak nie rozumiesz części przykładu jaką podałem możesz ją tymczasowo pominąć i wrócić gdy zrozumiesz dane zagadnienie.

Nie siedź nad problemem cały czas, często mądre pomysły przyjdą ci wtedy gdy nie myślisz o problemie :)

Specjalnie nazwałem klasy po angielsku, ponieważ tak powinno się robić podczas programowania.

komentarz 16 sierpnia 2016 przez Serwex Użytkownik (810 p.)

Dzięki za odpowiedź, ale mówisz mi tu o praktycznych przykładach, kiedy to ja ledwo co zacząłem z tą obiektowością laugh

komentarz 16 sierpnia 2016 przez MichuDev Pasjonat (20,300 p.)
Zawsze się przydadzą, jak będziesz chciał utrwalić wiedzę :)
komentarz 17 sierpnia 2016 przez Jan Zantos Użytkownik (700 p.)
Dobrze pisze:)
+2 głosów
odpowiedź 16 sierpnia 2016 przez jpacanowski VIP (101,940 p.)
edycja 16 sierpnia 2016 przez jpacanowski

To dość intuicyjne. Przykład bardzo prostej klasy:

class Bicycle {

    int cadence = 0;
    int speed = 0;
    int gear = 1;

    void changeCadence(int newValue) {
         cadence = newValue;
    }

    void changeGear(int newValue) {
         gear = newValue;
    }

    void speedUp(int increment) {
         speed = speed + increment;   
    }

    void applyBrakes(int decrement) {
         speed = speed - decrement;
    }

    void printStates() {
         System.out.println("cadence:" +
             cadence + " speed:" + 
             speed + " gear:" + gear);
    }
}

https://docs.oracle.com/javase/tutorial/java/concepts/class.html

I drugie pytanie, czy jak już zrozumiem to programowanie obiektowe, to czy potem będą jeszcze jakieś trudniejsze rzeczy, które również mnie zaniepokoją?

Oj tak... hermetyzacja, dziedziczenie, polimorfizm, i ogólnie nie chcę tobie psuć dnia ;)
https://pl.wikipedia.org/wiki/Programowanie_obiektowe

1
komentarz 16 sierpnia 2016 przez CzikaCarry Szeryf (75,340 p.)
Wait a Second, hermetyzacja, dziedziczenie, polimorfizm i przeciążanie operatorów są elementami obiektowi:)
komentarz 16 sierpnia 2016 przez jpacanowski VIP (101,940 p.)
edycja 16 sierpnia 2016 przez jpacanowski
komentarz 16 sierpnia 2016 przez CzikaCarry Szeryf (75,340 p.)
No, tutaj jest napisane o dziedziczeniu, polimorfizmie, przeciążaniu operatorów, hermetyzacji.
komentarz 16 sierpnia 2016 przez DragonCoder Nałogowiec (36,500 p.)
No zo sie ualicza do obiektowki, kolega podal fajny przyklad i jezeli chcesz to obejrzyl film o clasach w cpp, z przykladu widze zesa podobne a Pan Miroslaw dobrze to tlumaczy... Jak bedziesz ich uzywal to sie w koncu nauczysz, zrozumienie to jedno uzywanie, to drugie, a trzeci to potrafienie wyjasnic to zagadnienie, komus kto tego nie rozumie
0 głosów
odpowiedź 16 sierpnia 2016 przez Przybysz_4444 Gaduła (3,200 p.)
Mi w nauce Javy bardzo pomógł ten kurs:

http://javastart.pl/static/category/programowanie-obiektowe/

również polecam ;D
0 głosów
odpowiedź 17 sierpnia 2016 przez mbabane Szeryf (79,280 p.)
https://www.youtube.com/watch?v=aDXjubGK0jU&list=PLOYHgt8dIdozvOVheSRb_qPVU-4ZJA7uB

 

Pomimo ze to Cpp to teoria obiektowosci jest taka sama dla kazdego jezyka.
0 głosów
odpowiedź 20 sierpnia 2016 przez bartekP Początkujący (260 p.)
Ja od siebie dorzuce ten kurs: https://www.youtube.com/playlist?list=PLFE2CE09D83EE3E28 jest tam zdecydowanie wiecej tutoriali, warto z niektórymi się zapoznać. No i jeśli chodzi o javę to zdecydowanie polecam książkę http://helion.pl/ksiazki/java-podstawy-wydanie-ix-cay-s-horstmann-gary-cornell,javpd9.htm

Podobne pytania

–1 głos
3 odpowiedzi 758 wizyt
pytanie zadane 26 sierpnia 2016 w C i C++ przez CortezjuszPospolity Obywatel (1,130 p.)
–7 głosów
0 odpowiedzi 193 wizyt

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...