Java - programowanie obiektowe w 3h

Поділитися
Вставка
  • Опубліковано 3 січ 2025

КОМЕНТАРІ • 294

  • @pawelklawender5355
    @pawelklawender5355 4 роки тому +30

    Jeden kurs na Udemy, drugi na YT, książka, blogi i co i nic !
    W końcu trafiłem na ten film. Dzięki bardzo!

  • @katarzyna9692
    @katarzyna9692 4 роки тому +50

    Kamil, jestem dopiero na 5 minucie, ale juz mowie, ze kocham Cie za ten film! ❤️❤️❤️ Dokladnie to, czego wlasnie potrzebuje!

    • @h4wk742
      @h4wk742 10 місяців тому

      Zostałaś programistka?

    • @katarzyna9692
      @katarzyna9692 10 місяців тому

      @@h4wk742 nie, nie poszlam w to, ale zmienilam prace na branze w IT

  • @Mateusz-nc3fn
    @Mateusz-nc3fn 4 роки тому +20

    Duże słowa uznania za to co robisz. Dziekujemy !

  • @tomaszwazny3836
    @tomaszwazny3836 3 роки тому +6

    Świetny film. Nie spotkałem jeszcze tutorialu z OOP, w któtym ktoś wytłumaczyłby to zagadnienie tak zrozumiale jak Ty. Szczególne słowa uznania za bardzo dobre i zrozumiałe rozgraniczenie Interface'u oraz Klasy Abstrakcyjnej, bo to z mojej perspektywy (i chyba nie tylko mojej) sprawiało największy problem. Tłumaczenie na podstawie jednego spójnego projektu również zrobiło robotę. Liczę na więcej filmików poświęconych Javie, jeszcze raz - dobra robota. Pozdrawiam ;)

  • @vorbizasca3739
    @vorbizasca3739 4 роки тому +5

    Nareszcie, po względnym opanowaniu podstaw mogę zasiąść do tego filmu:) Wielkie dzięki !

  • @matemxvi2249
    @matemxvi2249 Рік тому +1

    Obejrzałem do końca, zarówno ten kurs obiektowej Javy jak i podstawy w 2h. Bardzo ciekawie wytłumaczone, lecz z drugiej strony miałem styczność z programowaniem więc łatwiej to ogarnąć.
    Fajnie, że poświęciłeś te godziny na przekazanie nam wiedzy o Javy w tak przystępny sposób :)

  • @rafalgontarski3254
    @rafalgontarski3254 2 роки тому

    Bardzo dziękuję za ten kurs. Obejrzałem bardzo intensywnie i sporo mi pomógł. Muszę samodzielnie, powoli sobie wszystko przećwiczyć. Dziękuję!

  • @danielm0827
    @danielm0827 4 роки тому +5

    3h zlecialy szybciutko, dziekuje za super tlumaczenie javy ! Pelna profeska !

  • @katarzynabrzezinska8546
    @katarzynabrzezinska8546 4 роки тому +6

    Gratulacje za wytrwałość,ogromną wiedzę i profesjonalny przekaz

  • @yungfilip4143
    @yungfilip4143 Рік тому

    Genialny kurs taki podjarany jestem tą java wreszcie czuje ze to jest ten język któremu mogę poświecić swoj czas i to czuć a nie jak np próbowałem z frontendem, który uważam za kobiecy albo z c++, który mi nie podpasował z fartem dzieki za poradnik. Czekam na jesień i zobacze twój kursik, choć mam nadzieje że już przeskocze ten poziom do tego czasu i tam zobacze same powtorki pzodrawiam

  • @radeksendecki9922
    @radeksendecki9922 2 роки тому

    Przychodzę z C# i bardzo podoba mi się java patrząc na Twój kurs. Dziękuję.
    Świetnie dobrałeś praktyczne przykłady, dzięki którym można zobaczyć obiektowość w realnym życiu.

  • @ZadiniPlatini
    @ZadiniPlatini 2 роки тому +5

    Wydałem 20k PLN na kurs Javy a i tak korzystam z Twoich materiałów.
    Ogólnie polecam wszystkich uczyć się z wielu źródeł i w innych formach.
    W moim przypadku to wygląda tak, że mam zajęcia z SDA, czytam książkę "Rusz głową Java", oglądam właśnie materiały na YT i wspólnie z Ziomkiem rozwiązujemy różne zadania. Dla mnie jest to świetne rozwiązanie bo np coś co na kursie było średnio zrozumiałe ale jakiś fundament został, to z innego źródła ten sam temat wchodzi juz na miękko.

    • @Xx_GhostAlpha7_xX
      @Xx_GhostAlpha7_xX Рік тому +1

      Mam dokładnie taką samą sytuację :) Pozdrawiam i powodzenia!

  • @solidus2360
    @solidus2360 3 роки тому +3

    Dziękuję za ten kanał i wkładaną w niego pracę. Mistrzostwo.

  • @morveusz93
    @morveusz93 3 роки тому +1

    Ekstra! Dzięki bardzo za Twoje filmy, tłumaczysz wszystko w zrozumiały dla mnie sposób, dzięki Tobie dużo łatwiej jest mi zrozumieć zagadnienia związane z programowaniem. Świetna robota!

  • @AndrzejCzarny
    @AndrzejCzarny 2 роки тому +2

    Oglądałem, a właściwie słuchałem tego nagrania jadąc autem i niesamowite jest to, że pomimo tego, że nie patrzyłem w ekran potrafiłem sobie wyobrazić o czym mówisz i co robisz, a to wszystko za sprawą ciekawych życiowych przykładów. Słuchając nagrania czułem się jakbym słuchał podcastu, z którego na prawdę wyniosłem dużo. Dzięki!

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  2 роки тому +1

      Mega się cieszę, że trafia do Ciebie ten materiał i w takim razie zapraszam do zapoznania się z innymi filmami na temat Javy :) Tutaj jest cała playlista: ua-cam.com/video/6G19kFcVXTo/v-deo.html

  • @AD-we8ur
    @AD-we8ur Рік тому

    najlepszy kurs jaki spotkałem. Przykłady i prostota . Wielki szacunek że dzielisz sie tą wiedzą . Czekam na kolejne filmy

  • @kamillo27
    @kamillo27 2 роки тому +2

    Ogromna dawka wiedzy, do tego dobrze wytłumaczonej. Dzięki Kamil! :)

  • @Kamil.grdeniuu
    @Kamil.grdeniuu 2 роки тому +1

    Fenomenalnie wytłumaczone! Dziękuję bardzo :)

  • @radosawszczepanski7907
    @radosawszczepanski7907 3 роки тому

    Jestem programistą front-end i nie spotykałem się jeszcze zbyt często z programowaniem obiektowym. Czasem we frameworkach js'a, jednak postanowiłem rozwijać back-end i w przypadku Python + django było już to dla mnie problematyczne. Twój poradnik odpowiedział na moje wszystkie pytania oraz logiczne problemy. Bardzo dobrze tlumaczysz, masz przyjemny głos i wyobraźnię też nie małą. Wielkie propsy za DARMOWY poradnik, który z pewnością można polecić każdemu programiście.

  • @Rudzix66
    @Rudzix66 4 роки тому +6

    A dziękuję za ten odcinek. 3 godziny zarezerwowane na yt 😄

  • @Seba92Mx
    @Seba92Mx 4 роки тому +1

    Bardzo łatwe w odbiorze i konkretne w przykładach. Miałem już do czynienia z wieloma kursami Javy dla poczatkujących na UA-cam czy Udemy i Twój jest chyba najlepszym wyborem. Mówisz na temat i nie za wolno (chociaż ustawiłem speed 1.25 ;)). Jedynie przeszkadza, że gadająca głowa jest głośniej niż relacja z InteliiJ, ale bez tragedii.

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому +1

      Dzięki za uwagę o różnicach w głośności! Staram się to zawsze ogarnąć, ale nie jest jeszcze idealnie :) I cieszę się, że podoba Ci się film :D Nie wiem czy miałeś już okazję przejrzeć inne filmy dotyczące Javy na kanale, ale jeżeli nie, to zachęcam do sprawdzenia playlisty: ua-cam.com/play/PLp9WLfHXxbceqs8TV8vGgpnRHihJX0yd-.html

  • @BiTuSS1
    @BiTuSS1 4 роки тому +3

    Bardzo wartościowy materiał oparty na świetnym realnym przykładzie. Tego właśnie brakowało ! Świetna robota

  • @aniaw.7521
    @aniaw.7521 3 роки тому +1

    Kamil, dajesz nadzieję, na zrozumienie zasad programowania. Twoje filmy sprawiają, że "w pokoju gdzie jest ciemno" nagle wszystko się rozjaśnia, nie ważne, czy opowiadasz o gicie, RESTapi, czy o Javie. Dzięki!

  • @romualdkaczmarczyk8257
    @romualdkaczmarczyk8257 4 роки тому +2

    Bardzo profesjonalnie i na temat. Jestem pod wrażeniem

  • @palkarz85
    @palkarz85 Рік тому

    Rewelacja, świetnie tłumaczone. 3 godziny zleciało bardzo szybko. Miałem kilka błędów ale udało mi się je samemu ogarnąć, chociaż bardzo się pogubiłem w tym wszystkim, ale to chyba normalne u początkujących :).

  • @krzysztofkulpa3465
    @krzysztofkulpa3465 2 роки тому

    Super materiał! Jedna uwaga na przyszłość: gdy przerabiam poradniki staram się najpierw sam wykonać zadanie, które jest opisywane na początku a następnie sprawdzam jak zostało wykonane przez autora. W tym filmie opis tego jak powinien działać symulator komputera był tak lakoniczny że wykonałem swój kod wykorzystujący OOP ale projekt, który ja stworzyłem był właściwie zupełnie inny od Twojego :D

  • @lauralanthalasa7
    @lauralanthalasa7 3 роки тому +1

    Miesiąc temu nie zrozumiałam z tego filmu prawie nic, dzisiaj nawet to ogarniam. Wrócę tu za miesiąc sprawdzić moje postępy 😄

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому

      Mega, tak to właśnie działa w programowaniu! :) Daj znać niedługo jak dalsze postępy!

  • @Robert-rp8km
    @Robert-rp8km 4 роки тому

    Dzieki Kamil za twoj ogromny wklad w nasz rozwoj!!! Wspaniale materialy!!! Super tlumaczysz. Jestes konkretny, otwarty i b. dobrze przygotowany!!! Cenisz nasz czas!!! Zaluje, ze musze spac bo moglbym ogladac twoje filmy na okraglo! Przyklad do dzisiejszej lekcji wybralbym jednak inny... Np. Rent Vehicle. Moim skromnym zdaniem bardziej kontekstowy, mniej abstrakcyjny i spojny. Do tego doszlaby zabawa z datami i czasem. Pozdrawiam i czekam z niecierpliwoscia na kolejne filmy. Jestes SUPER!!!!!

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому +1

      Ale Rent Vehicle to taki trochę już oklepany przykład ;) A daty i czas to bardzo dobry temat na jeden z kolejnych odcinków! Zapisuję i postaram się wrzucić gdzieś do harmonogramu :)

  • @frycstyle3967
    @frycstyle3967 2 роки тому

    Mam doświadczeni w kursach na Udemy i przyznam szczerze, że nie trafiłem jeszcze na taki w, którym ktoś tak konkretnie i precyzyjnie tłumaczy na czym polega OOP. Nie wyobrażam sobie znalezienie lepszej darmowej lekcji o programowaniu obiektowym, oglądam ten film już któryś raz i z biegiem czasu jak moje umiejętności rosną to ten film jest dla mnie coraz bardziej wartościowy. Świetna robota i szanuje za dzielenie się taką praktyczną wiedzą za darmo.

    • @andrzej21111
      @andrzej21111 2 роки тому

      Zawsze warto zaczynać od darmowych kursów na YT. Takich podstawowych kursów jak na tym kanale lub innych np. na kanale pasja informatyki.

  • @marcin5237
    @marcin5237 3 роки тому

    Materiał super, posiadam podstawy z innych języków, a teraz potrzebna mi Java, sporo skorzystałem, dzięki! Mam tylko małą uwagę, w 2:23:00 nadpisanie metody getName() popsuło wyszukiwanie plików typu MP3MusicFile w klasach HDDDrive i SSDDrive.

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому

      A faktycznie, bo w metodach findFile wyszukujemy po nazwie, a teraz getName w MP3MusicFile nie zwraca nazwy tylko tekst "Dla plików MP3 getName nie działa" :) Przy okazji znalazłem jeszcze jeden błąd - w metodzie addFile w klasie SSDDrive robimy files.put(file.toString() , file), a powinniśmy robić files.put(file.getName() , file) :)
      Dzięki za czujność!

  • @psodus
    @psodus 4 роки тому +1

    Dzięki Tobie dużo więcej i szybciej zrozumiałem tematykę i metodologię OOP niż przerabiając kurs Buchalki na Udemy. Zajebiście to wyjaśniłeś, pozdro! :)

  • @NeverLucky99
    @NeverLucky99 2 роки тому

    Jestem zupełnie nowy w tej dziedzinie i uczę się na własną rękę (próba przebranżowienia). Z czystym sumieniem mogę stwierdzić, że ten ten kanał jest prowadzony przez fachowca, który z niebywałą lekkością przekazuje wiedzę w sposób zrozumiały i praktyczny. Dziękuję Ci, że dajesz możliwość ludziom takim jak ja rozwijać się w tym zawodzie

    • @rafalmalinowski1716
      @rafalmalinowski1716 2 роки тому

      zgodze sie, z polskich kanalow najlepszy i lepszy od wielu angielsko i niemiecko jezycznych z jakich ja sie ucze

  • @jankowal115
    @jankowal115 2 роки тому

    Rok na moich studiach rozłożył się tak, że nie programowałem praktycznie przez semestr w Javie. Twój film odświeżył trochę mi głowę i pomógł mi wrócić do klepania kodu w Javie.

  • @robydj5289
    @robydj5289 3 роки тому

    Bardzo dziękuję za ten wspaniały film! Nareszcie programowanie obiektowe zostało wytłumaczone w genialny sposób. Pozdrawiam i już szykuje się do obejrzenia następnych filmów!

  • @ziomiwanv2
    @ziomiwanv2 2 роки тому

    Dziękuje Ci za ten film! Przed chwilą skończyłem pierwszą rozmowę kwalifikacyjna i zostałem zapytany praktycznie o wszystko, co usłyszałem w tym filmie!

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  2 роки тому

      Ooo mega gratulacje! A o co Cię pytali?

    • @ziomiwanv2
      @ziomiwanv2 2 роки тому

      @@JakNauczycSieProgramowania pytań teoretycznych było dosyć sporo, z tych co pamiętam to: jak działa dziedziczenie w javie, różnice pomiędzy klasa abstrakcyjną a interfejsem, różnice pomiędzy method overloading a overriding, czym jest enkapsulacja, modyfikatory dostepu, keyword super.

  • @Cisi204
    @Cisi204 4 роки тому

    Materiał wyjaśniony w sposób przyjazny i zrozumiały. Dzięki

  • @dawidjakubowski8286
    @dawidjakubowski8286 2 роки тому

    Super, dzięki za tą lekcje. Już myślałem, ze się poddam, ale ożywiłeś moje zainteresowanie Javą. :)

  • @RaceDriverF1
    @RaceDriverF1 3 роки тому

    2:25:04 - najpierw ctrl + n, a następnie ctrl + F12 (inherited members) ;)

  • @PzD91
    @PzD91 4 роки тому +1

    Super odcinek. Spora dawka wiedzy.

  • @metamolamb
    @metamolamb 3 роки тому

    Filmik super, jak zresztą cały content na kanale. Jedna rzecz mnie tylko zastanowiła w kwestii konwencji nazewniczej dla pól static. Nie spotkałem się z tym, że nazwy pól statycznych piszemy dużymi literami, zdawało mi się, że ta konwencja dotyczy wyłącznie pól z modyfikatorami static final. (02:34.40)

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому

      Oczywiście masz rację, ta konwencja (nie tylko w Javie, ale również w wielu innych językach) dotyczy stałych czyli w przypadku Javy są to pola static final.
      Mój błąd, że przy MAX_HEIGHT nie dodałem modyfikatora final, to zdecydowanie powinna być stała!

  • @kacper-bm5ur
    @kacper-bm5ur 2 роки тому

    Fajnie wytłumaczone.

  • @bartass4x
    @bartass4x 4 роки тому

    Ogromna dawka informacji, dzięki wielkie.
    Do materiału będę na pewno jeszcze wracał.

  • @ABCinwestowania
    @ABCinwestowania 2 роки тому

    2 kursy na udemy z obiektowania i nie mogłem ogarnąć o co w tym chodzi, twój film w 20 minut wyjaśnił mi podstawy na przykładzie garnka jprd :D

  • @andrzej7530
    @andrzej7530 2 роки тому

    (Array [erej]) Swietny film bardzo pomocny

  • @ExtaseProduction
    @ExtaseProduction 4 роки тому +1

    Wszystko super wytłumaczone. Dzięki!

  • @adriandomagala9710
    @adriandomagala9710 3 роки тому +3

    Naprawdę świetny materiał

  • @tomasz3727
    @tomasz3727 2 роки тому

    Fajnie widać takie zaangażowanie w przygotowanie materiałów. Mało osób robi tak wartościowe materiały ja Ty :)

  • @piotrwardecki9075
    @piotrwardecki9075 11 місяців тому

    Dziedziczenie wytłumaczone na podstawie odkurzacza genialne :D

  • @JakNauczycSieProgramowania
    @JakNauczycSieProgramowania  2 роки тому +1

    🔥 Sprawdź kurs Java od podstaw - od zera do Junior Developera: javaodpodstaw.pl/ 🔥
    🔥 Roadmapa programisty - Czego, kiedy i dlaczego się uczyć, żeby zostać programistą: roadmapaprogramisty.pl/
    🔥 Programista dzisiaj - Sprawdzone źródła do nauki dla początkujących programistów: programistadzisiaj.pl/
    🔥 Kurs Git od podstaw: gitodpodstaw.pl/
    🔥 Platforma Programuj od podstaw: programujodpodstaw.pl/
    Pobierz bezpłatnego ebooka "Jak zostać programistą - krok po kroku": www.jaknauczycsieprogramowania.pl/#ebook
    Dołącz też tutaj:
    DISCORD: www.jaknauczycsieprogramowania.pl/discord
    INSTAGRAM: instagram.com/jaknauczycsieprogramowania/
    FACEBOOK (GRUPA): facebook.com/groups/jaknauczycsieprogramowania
    FACEBOOK (STRONA): facebook.com/jaknauczycsieprogramowania
    ✉ Współpraca: marketing@jaknauczycsieprogramowania.pl

    • @mirekmichalski5299
      @mirekmichalski5299 Рік тому

      Kurcze jak na początek nie zawsze ogarniam skróty klawiaturowe a to początek, to tego Java to już kilka wersji w górę jak i sam program do pisania. Jak to ogarnąć ? A mój początek to z tym kanałem.

  • @jupik3542
    @jupik3542 Рік тому

    Obym dzięki temu zdała kolosa 🙏🙏🙏, dzięki za wytłumaczenie

  • @s_cuzz
    @s_cuzz 3 роки тому

    Dzieki za darmowa wiedze,przyklad tego garnka jest swietny! Chcialbym tworzyc skomplikowane mechaniki w grach i widze jaki potencjal drzemie w programowaniu ;d

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому

      Programowanie to piękna sprawa, możesz z nim osiągnąć praktycznie wszystko, ogranicza Cię tylko wyobraźnia:)

  • @daronieogarniaro
    @daronieogarniaro 2 роки тому +1

    Ten człowiek to złoto na polskim UA-cam ❤️

  • @zmyslowy27
    @zmyslowy27 4 роки тому

    Blisko 3h jestem pod wrażeniem. Kawał dobrej roboty, szacun.

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому +1

      Trochę pracy mnie to kosztowało, ale było warto!

    • @zmyslowy27
      @zmyslowy27 4 роки тому

      @@JakNauczycSieProgramowania myślę że napewno. Wszystkie filmy które oglądałem na kanale trzymają poziom i dużo tłumaczą. Oby tak dalej.

  • @kubaabendowicz229
    @kubaabendowicz229 4 роки тому

    Akurat w tym semestrze mam podstawy Javy, większość materiału jest.
    Jakby jeszcze kolejne tematy były to by było super :)
    Lab1. Wprowadzenie - zapoznanie z IDE, tworzenie prostych programów.
    Lab2. Składnia języka, instrukcje sterujące, typy danych, klasy, metody, obiekty.
    Lab3. Tworzenie aplikacji obiektowych do przetwarzania tekstu.
    Lab4. Tworzenie aplikacji obiektowych wykorzystujących funkcje matematyczne.
    Lab5. Programowanie obiektowe z wykorzystaniem dziedziczenia i interfejsów.
    Lab6. Obsługa wyjątków.
    Lab7. Wykorzystanie kolekcji.
    Lab8. Wyrażenia lambda w języku Java.
    Lab9. Operacje wejścia - wyjścia, obsługa plików.
    Lab10 Współbieżność w języku Java.
    Lab11. Tworzenie aplikacji z graficznym interfejsem użytkownika z obsługą zdarzeń.
    Lab12. Tworzenie aplikacji do komunikacji sieciowej.
    Lab13. Tworzenie aplikacji do obsługi bazy danych.

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому

      Część z tych tematów poruszałem, część na pewno jeszcze się pojawi, sprawdź playlistę z filmami dotyczącycymi Javy: ua-cam.com/play/PLp9WLfHXxbceqs8TV8vGgpnRHihJX0yd-.html
      I wpadaj regularnie na kanał :)

  • @krzysztofmarchewka9242
    @krzysztofmarchewka9242 4 роки тому

    Gratulacje, świetna robota, dziękujemy!

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому

      Dzięki, miło mi to słyszeć! Takie komentarze zawsze bardzo mocno motywują mnie do dalszej pracy :)

  • @beatamazurkiewicz2860
    @beatamazurkiewicz2860 2 роки тому

    Wielkie dzięki za Twoje filmy!

  • @rafalewandowski5180
    @rafalewandowski5180 4 роки тому

    Wielkie dzięki za ten odcinek Kamil!
    Pozdrawiam!

  • @Wooldorf
    @Wooldorf 2 роки тому +1

    Masz talent !

  • @EmilDworniczak
    @EmilDworniczak 4 роки тому +1

    Dzięki za materiał :) Kawał dobrej roboty

  • @filipgrzelak7528
    @filipgrzelak7528 3 роки тому

    Dzięki wielkie za ten film !!!

  • @danielskolimowski1279
    @danielskolimowski1279 4 роки тому

    Dzięki wielkie za kolejny film.

  • @ThePiko69
    @ThePiko69 4 роки тому

    super wyjasnienie i uzupełnienie

  • @andrzejekpl3521
    @andrzejekpl3521 4 роки тому +4

    Szacunek Kamil! :D

  • @kejeszankejeszan4071
    @kejeszankejeszan4071 4 роки тому

    Powiedziałeś, że za chwilę opowiesz o enumach i widocznie zapomniałeś szkoda, bo świetnie tłumaczysz. Dziękuje za materiał :>

  • @marcinzale
    @marcinzale 4 роки тому

    Świetny tutorial! Wszystko bardzo dobrze wytłumaczone! Dzięki!

  • @bert3373
    @bert3373 3 роки тому

    super, poradnik mega dzięki :)

  • @kokojambo1298
    @kokojambo1298 3 роки тому

    Super. Bardzo przydatny materiał

  • @tgkubus
    @tgkubus 4 роки тому

    No i jest ten wspaniały film. Coś pięknego.

  • @killerbee1729
    @killerbee1729 Рік тому

    Świetny materiał, bardzo pomaga w mojej nauce programowania, jest wytłumaczone jasno i klarownie na przykładowym projekcie, super.
    Chciałbym jeszcze zadać pytanie, w 1:54:36 tworzymy klasę abstrakcyjną aby w niej zawrzeć zmienne dotyczące ImageFile, a czemu nie został użyty interfejs zamiast klasy abstrakcyjnej? Chyba muszę powtórzyć materiał dotyczący różnic między klasą abstrakcyjną a interfejsem, bo dalej mi się mylą :/
    Edit: W 2:01:49 nie rozumiem czemu rozszerzamy interfejs MusicFile a nie implementujemy jak w poprzednim razie w klasie abstrakcyjnej.

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  Рік тому

      W pierwszym przypadku tworzymy klasę abstrakcyjną, bo w niej implementujemy wspólne metody dla klas, które będą po niej dziedziczyły.
      W drugim przypadku rozszerzamy interfejs, bo chcemy dodać do istniejącego interfejsu dodatkowe metody, ale nie chcemy ich jeszcze implementować (to zostawiamy już klasom implementującym interfejs).

  • @Skidam
    @Skidam 3 роки тому

    Super materiał dzk

  • @pawecorporation9677
    @pawecorporation9677 3 роки тому +1

    Więcej tego z JAVY !!!!!

  • @AndrzejAAn
    @AndrzejAAn 3 роки тому

    super odcinek !!! dzięki Kamil :D

  • @ayoxen4031
    @ayoxen4031 3 роки тому

    Ogląda się na tyle przyjemnie że robię sobie 5 godzinne maratony twoich filmów

  • @pirat19full
    @pirat19full 3 роки тому

    Mam pytanie. Czemu jakbym dopisal do klasy garnek (30:15) public static void main(String[] args) to potem w klasie main nie moglbym wyswietlic i korzystac z metod klasy garnek?

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому +1

      Możliwe, że w konfiguracji projektu nie podałeś, która klasa zawierająca metodę main jest Twoją główną klasę i IntelliJ nie wie, w jaki sposób wystartować program.
      Jeżeli napiszesz metodę main w klasie Main i uruchomisz program, IntelliJ sam ogarnie, że główną klasą jest Main. I jeżeli teraz napiszesz metodę main w klasie Garnek wszystko dalej będzie działać.
      Natomiast jeżeli napiszesz metodę main w klasie Main, nie uruchomisz program i napiszesz metodę main w klasie Garnek, IntelliJ nie będzie w stanie ogarnąć, która metoda main powinna być pierwszą metodą startującą program.
      W razie wątpliwości wrzuć jeszcze to co robisz na grupę na fb i tam ogarniemy: facebook.com/groups/jaknauczycsieprogramowania

  • @extr3m0
    @extr3m0 3 роки тому

    Dzięki, bardzo mi pomogłeś 😄

  • @nowyty556
    @nowyty556 4 роки тому +1

    Super materiał, genialnie zrobiony, przemyślany.
    Pytanie: Zrobiłbyś odcinek związany z procesem myślenia nad zadaniem którego nie umiemy rozwiązać? Jak się zabrać do rzeczy które są trudne? Często się zdarza, że myślimy parę godzin nad rozwiązaniem i nic z tego nie wychodzi (kręcimy się w kółko) Jest jakiś proces, który efektywniej pozwoliłby rozwiązać problem? Jak zabrać się do skomplikowanych algorytmów? Co zrobić kiedy już nie mamy pojęcia jak coś rozwiązać?

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому

      Pomyślę nad takim odcinkiem :) Trochę tego typu proces pokazywałem tutaj: ua-cam.com/video/T9UtiKT5AnE/v-deo.html ale nie były to takie problemy, nad którymi musiałbym siedzieć godzinami. Raczej nieznajomość technologii i zadawanie odpowiednich pytań, żeby dowiedzieć się jak daną rzecz można zrobić.
      To o czym piszesz to trochę bardziej skomplikowana kwestia, muszę to dobrze przemyśleć i postaram się podzielić swoimi doświadczeniami i wskazówkami :)

    • @nowyty556
      @nowyty556 4 роки тому

      @@JakNauczycSieProgramowania super czekam na odcinek bo wydaje mi się że to częsty problem

  • @janwan7682
    @janwan7682 4 роки тому

    Podpowie ktoś jaki skrót klawiaturowy został użyty w 1:26:07 odnośnie przypisania do zmiennej? Windows, ATL + Enter nie działa, próbowałem kilku rzeczy ale ebzskutecznie

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому +1

      Ten skrót to "extract/introduce variable" czyli Ctrl + Alt + V: www.jetbrains.com/help/idea/extract-variable.html

    • @janwan7682
      @janwan7682 4 роки тому

      @@JakNauczycSieProgramowania dzięki bardzo już 3 raz chyba dziękuję :D

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому

      @@janwan7682 A ja zawsze chętnie pomogę, także pytaj o wszystko śmiało :D

  • @kubaczeek6443
    @kubaczeek6443 3 роки тому

    Świetna robota ❤️

  • @BoxOfOpinions
    @BoxOfOpinions 2 роки тому

    Wracam sobie to tego filmu co jakiś czas bo jest to ogromna piguła wiedzy, w dodatku bardzo przejrzyście podana. Naprawdę świetny film. Mam tylko jedno pytanie co do zawartości:
    W geterach czasami zwracasz wartość ze słowem this a czasami bez. Od czego to zależy?

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  2 роки тому

      To tylko moja niekonsekwencja, w przypadku getterów this jest opcjonalne, możesz je dodać, ale nie musisz :)

  • @mateuszjagielski4599
    @mateuszjagielski4599 4 роки тому

    Bardzo mi się podoba styl w jaki przekazujesz wiedzę, częściowo potoczny i profesjonalny. Miło się tego słucha i bardzo dużo rozumiem, jednak zauważyłem (na 2 filmach podstawy i obiektowe), że zaczynam się gubic na ostatnich częściach projektowych. Zaczynasz tam dosyć szybko wdrażać nowe rozwiązania i terminy których nie do końca rozumiem. Wyprzedzasz fakty np. Tutaj zacząłeś robić pełno metod które w projekcie które przydadzą się później i skaczesz, przez co się gubię. Jeśli chciałbyś jeszcze polepszyć jakość kanału skup się na kolejności logicznej i doprowadzaniu metod do końca. Wolę jak odpiszesz coś później niż na zapas. Czasem też stosujesz metodę w której specjalnie popelniasz błąd żeby potem go na0rawiasz i tlukaczysz dlaczego. Super mi się to podoba ale czasami mowisz z góry że to błąd przez co od razu człowiek się zamyka na tą wiedzę.
    Tak czy inaczej jesteś ponad innych mentorow na YT, po prostu nie chce slodzic tak jak reszta na dole ;) Wolę dać feedback

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому

      Dzięki Mateusz, to specjalne popełnianie błędu i jego późniejsze naprawianie jest właśnie po to, żeby uniknąć tych dużych przeskoków, o których piszesz. Wychodzę z założenia, że przedstawienie jedynie właściwego rozwiązania i stwierdzenie "macie robić tak i tak, bo inne podejście jest złe" niewiele uczy. Ktoś doświadczony będzie wiedział, dlaczego jedno rozwiązanie jest ok, a drugie nie, ale osoba początkująca będzie zagubiona. Nie zrozumie tego w wystarczającym stopniu i pewnie też tego właściwego podejścia nie zapamięta. Dlatego tak istotne jest napisanie kodu w taki sposób, w jaki prawdopodobnie napisałaby to osoba początkująca, a następnie wskazanie problemu, który z tak napisanym kodem się wiąże. Wtedy mamy już odpowiedni kontekst, widzimy niedoskonałość naszego rozwiązania i zastanawiamy się, jak możemy zrobić to lepiej. Na to wprowadzanie zbyt dużej ilości metod zwrócę uwagę, postaram się w przyszłych filmach faktycznie robić tylko to, co jest potrzebne na obecną chwilę. To bardzo dobra uwaga!
      Jeszcze raz dzięki i pozdrawiam!

    • @mateuszjagielski4599
      @mateuszjagielski4599 4 роки тому

      @@JakNauczycSieProgramowania Dzięki! Ułatwi mi to naukę, bo wolę Ciebie niż książke która dostalem

  • @mihau87pl
    @mihau87pl 4 роки тому

    Obiecuje obejrzeć i zrozumieć 😁 oby zrozumieć chodź tyle 🤏

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому +1

      Obejrzyj sobie na spokojnie, przećwicz całość na spokojnie, poeksperymentuj z projektem, a potem staraj się go odtworzyć samemu :) Zobaczysz, czego jeszcze nie rozumiesz, co jest niejasne i w ten sposób bardzo szybko nauczysz się wszystkich tych konceptów, o których w tym odcinku opowiadam :)

  • @ivanaldabaev1187
    @ivanaldabaev1187 2 роки тому

    Hej! Spróbuj wraz z poszukiwaniem pliku przesłonić tą metodę 2:24:20 :)

  • @basiachudowska4042
    @basiachudowska4042 4 роки тому

    Jestem na 18:06 minucie filmu, i mam problem. Ty wpisujesz new Garnek... i pojawiają Ci się propozycje średnica i wysokość i ja nie mam możliwości wpisać bez string kolor pokazuje mi błąd, a jak usune przecinek po wysokości to znikają mi te propozycje średnica i wysokość i juz w ogóle nic nie działa

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому

      Hej, opisz problem i wraz ze screenshotami wrzuć na grupę: facebook.com/groups/jaknauczycsieprogramowania
      Istotne są screenshoty co dokładnie robisz, bo z samego opisu niestety nie jestem w stanie stwierdzić, co jest nie tak.
      Na grupie ogarniemy :)

  • @tytusgierycz5563
    @tytusgierycz5563 4 роки тому +1

    Jea fajny materiał przerobiłem Kod. W pewnym momencie aż złapałem się za głowę ile tu klas jak to wszystko ogarnąć. Jak się ułożyło doszło że właśnie o to chodzi.

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому

      Super! Tak właśnie powinno być - na początku poszczególne klocki mogą wydawać się oderwane od całości, ale z czasem wszystko zaczyna się układać i nabierać coraz większego sensu :)

  • @januszkuznik137
    @januszkuznik137 Рік тому

    Cześć Kamil, mam pytanie co 2:16:30
    Czy losowa kolejność wyświetlania plików za pomocą drive.listFiles(); w stosunku do kolejności dodawania plików drive.addFile(); to błąd czy norma? Pytam bo u mnie wyświetla jeszcze w innej kolejności, a dodając więcej plików różnego typu ta kolejność się zmienia.
    Świetny materiał! Gratulacje i pozdrawiam

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  Рік тому +1

      Cześć! Tak, to właściwe zachowanie, ponieważ HashMap nie przechowuje informacji o kolejności dodawanych obiektów. Jeżeli chcesz, żeby obiekty miały określone miejsce w strukturze, powinieneś skorzystać z ArrayListy, a jeżeli potrzebujesz mapy z uporządkowanymi elementami, możesz skorzystać z OrderedMap z biblioteki Apache Commons: www.baeldung.com/apache-commons-ordered-map
      Zazwyczaj jednak jeżeli korzystasz z mapy, to interesuje Cię tylko pobieranie wartości po kluczu, tak więc nie ma dla Ciebie znaczenia jak to zostało ułożone pod spodem:)
      Dzięki i pozdrawiam!

    • @januszkuznik137
      @januszkuznik137 Рік тому

      Dzięki za błyskawiczną odpowiedź :)@@JakNauczycSieProgramowania

  • @naczozombi7870
    @naczozombi7870 Рік тому

    Dziękuje. Dzięki Panu zrozumiałem OOP :D

  • @szyszak9424
    @szyszak9424 3 роки тому

    dobrze tłumaczysz

  • @alusfalus
    @alusfalus 2 роки тому

    1:46 Czy to jak piszesz kod, żeby go po chwili usunąć ma na celu żeby film był dłuższy? Wcześniej w innych momentach, też jest taka taktyka, że piszesz coś aby, by po chwili to usunąć i zrobić inaczej? Dzięki czemu film ma 2:36 ale część polega na usuwaniu kodu...

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  2 роки тому

      Tutaj znajdziesz ostateczną wersję kodu: github.com/kamilbrzezinski/oop

    • @alusfalus
      @alusfalus 2 роки тому

      @@JakNauczycSieProgramowania Dziękuje ci bardzo, znacznie ułatwi mi to przejście do sedna

  • @kamkam5637
    @kamkam5637 Рік тому

    hej, w lekcji 2:20:32 wspominasz, ze overloading to tworzenie metod o takiej samej sygnaturze, ale z użyciem różnych argumentów. Czy jak w definicji metody (o takiej samej nazwie) podajemy inne parametry, to to nie jest zmiana sygnatury? W IDE o ile sie nie myle jest opcja w refaktoryzacji [change signature], w ktorej chodzi o zmiane (dodanie, zmiana typu) parametrow. Czy moglbys wytlumaczyc, czy to przejezyczenie, czy jednak zle to rozumiem? Filmik rewelacja, dzieki wielkie:)

    • @kamkam5637
      @kamkam5637 Рік тому

      chat GPT dal mi poniższą odpowiedź, natomiast bardzo często, gdy pytam o rzeczy dotyczące programowania, jego odpowiedzi mijają się z prawdą, dlatego byłbym wdzięczny za odpowiedz:
      [Chat GPT] "To stwierdzenie jest błędne. Overloading to tworzenie metod o tej samej nazwie, ale różniących się sygnaturami, które obejmują różne typy lub różną liczbę parametrów. Overloading umożliwia tworzenie wielu wersji tej samej metody w jednej klasie, które różnią się sposobem działania w zależności od typów lub ilości argumentów, jakie przyjmuje.
      Dlatego właściwe stwierdzenie brzmiałoby:
      "Overloading to tworzenie metod o tej samej nazwie, ale z różnymi sygnaturami, które obejmują różne typy lub różną liczbę parametrów.""

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  Рік тому +1

      Tak, to przejęzyczenie z mojej strony. Overloading to tworzenie kilku metod o takiej samej nazwie, ale przyjmujących różne argumenty.

    • @kamkam5637
      @kamkam5637 Рік тому

      @@JakNauczycSieProgramowania dzieki wielkie:)

  • @yankobzykant5579
    @yankobzykant5579 2 роки тому

    1:26:30 metoda findFile powinna IMO zwracać Optionala

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  2 роки тому +1

      Optional to dobre rozwiązanie w tym przypadku, ale jest to kolejny poziom abstrakcji, który na tym poziomie (podstawy programowania obiektowego w Javie) wprowadzałby niepotrzebne zamieszanie i komplikowałby omawiany problem. Na pewno jednak opowiem kiedyś o Optionalu w osobnym filmie :)

  • @roxo2137
    @roxo2137 2 роки тому

    Mam pytanie odnośnie listy List hddFiles = new ArrayList(); z fragmentu 1:12:17 . Dlaczego używasz konstruktora ArrayList a nie List? Oraz Nie lepiej zamiast List dać ArrayList ? Czy to jest jakaś znacząca różnica?

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  2 роки тому +1

      List to interfejs, także nie posiada konstruktora.
      Zamiast List hddFiles = new ArrayList() możesz dać ArrayList hddFiles = new ArrayList(), ale wtedy kod staje się mniej generyczny (uniwersalny) - w obecnej wersji możesz stworzyć metodę, która przyjmuje List (czyli każdą klasę, która implementuje ten interfejs), gdybyś zmienił deklarację na ArrayList hddFiles = new ArrayList() wtedy w takiej metodzie byłbyś uzależniony już tylko i wyłącznie od ArrayList i nie mógłbyś przekazać innego typu listy. A w programowaniu obiektowym chodzi właśnie o to, żeby jak najmocniej operować na interfejsach i nie być uzależnionym od konkretnej implementacji.

  • @matimozg
    @matimozg 2 роки тому

    Nie No stary 21 minuta ale duży progres od poprzedniego filmu z Javy na tej playliscie. Aż miło się uczyć

  • @kamkam5637
    @kamkam5637 Рік тому

    Czesc Kamil, dzieki za filmik. Mam pytanie odnosnie czesci, w ktorej opisujesz interfejs i nawiazujesz do pytania rekrutacyjnego o roznice pomiedzy interfejsem, a klasa abstrakcyjna (54.10 w Twoim filmiku). O ile dobrze, zalapalem, to nie ma tam jasnej odpowiedzi na to pytanie. Czy bylbys w stanie rozwinac ten temat? Wspominasz takze, ze interfejs definiuje co ma zostac zrobione (bez wytycznych w jaki sposob). Czy dobrze rozumiem, ze klasa abstrakcyjna dziala podobnie? Metody w tych klasach sa czesto puste i konkretna definicja/instrukcja, jak cos zostanie wykonane, jest implementowana w przypadku dziedziczenia przez pierwsza klase konkretne, po klasie abstrakcyjnej. Mam nadzieje, ze nic tu nie pomieszalem i rozumiesz o co mi chodzi :) nie jestem w stanie zobaczyc/zrozumiec tych roznic. Bede wdzieczny za dodatkowe informacje, albo naprowaadzenie jezeli tutaj mieszam:) Pozdrawiam!

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  Рік тому +1

      Cześć! Najważniejsze różnica jest taka, że klasa abstrakcyjna może przechowywać stan a interfejs nie. W praktyce chodzi o to, co mamy w klasie AbstractFile - mamy tam zdefiniowane pola name i size, które możemy modyfikować. W interfejsie jest to niemożliwe.
      Nagram za jakiś czas dłuższy odcinek na temat tych różnic, gdzie wytłumaczę to wszystko bardzo dokładnie:)

    • @kamkam5637
      @kamkam5637 Рік тому

      @@JakNauczycSieProgramowania dziekie wielkie za odpowiedz:) będę czekał na film, oraz kurs:)

  • @jankowlaski8721
    @jankowlaski8721 4 роки тому

    Odcinek rewelacja, tak samo jak przykładowa muzyka! Cool kidsów i Mansona nie słuchałem od lat. Sprawdziłem ten nowy album króla mroku i faktycznie dobry. Podwójne dzięki Kamil!

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  4 роки тому

      Dla mnie najlepszy album od czasu Holy Wood! Od premiery słucham praktycznie codziennie :)

  • @dassasasmasasasas184
    @dassasasmasasasas184 2 роки тому

    Dzieki

  • @papazedyt4846
    @papazedyt4846 4 роки тому

    Świetny materiał - wielki szacun. Ale, że nie powiedziałeś o tym: forEach(System.out::println); wcześniej :) Przecież to o niebo łatwiejsze ;)

  • @EgzotycznyPingwin
    @EgzotycznyPingwin 2 роки тому

    1:02:49 - Zapisuję sobie :D

  • @czupryn0135
    @czupryn0135 3 роки тому

    czsec nwm co sie stalo ale gdy przenosilem tes 3 klasy do pakietu drive to po przeniesieniu nigdzie ich nei ma. sprawdzalem tez w plikach an kompie 1:24:32

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому +1

      Opisz problem i wrzuć screenshoty z tego jak wygląda struktura Twojego projektu na grupę: facebook.com/groups/jaknauczycsieprogramowania
      Bo tak bez szczegółów to ciężko powiedzieć, co się mogło zdarzyć. Ale spróbujemy ogarnąć :)

  • @dtd5234
    @dtd5234 4 роки тому

    Świetny film jeszcze lepsza muza :-)

  • @sebastiankulfoniasty4918
    @sebastiankulfoniasty4918 9 місяців тому

    No. I to są podstawy. Teraz już można zacząć programować coś pożytecznego.