Getter und Setter in Java - Java Programmieren Lernen Deutsch - 20

Поділитися
Вставка
  • Опубліковано 6 жов 2024

КОМЕНТАРІ • 67

  • @einfachpxtrick6956
    @einfachpxtrick6956 2 роки тому +53

    Sehr geil alle tutorials sehr verständlich und gut zu folgen! mach weiter so

  • @ungezoockt
    @ungezoockt 2 роки тому +24

    Ich wollte nur sagen das deine Stimme sehr angenehm ist, beim zuhören.

    • @JonasKeil
      @JonasKeil  2 роки тому +3

      Vielen Dank für das Kompliment! Freut mich sehr😁🙌🏻

  • @mickiekrause6970
    @mickiekrause6970 2 роки тому +22

    Wirklich großartig deine Java Reihe, du machst vielen Studenten das leben leichter. Ich finde deinen Erklär Stil perfekt, kurz und knapp aber vollständig und einfach erklärt.
    Ich liebe dich. Mach weiter so.

  • @brawler-king6108
    @brawler-king6108 Рік тому +6

    Das Video hilft mir weiter bei meiner Informatik Klausur, Danke

  • @fairplay4014
    @fairplay4014 2 роки тому +13

    Hi :) Ich finde deine Videos echt klasse. Du hast eine sehr angenehme Stimme und erklärst die Themen in deiner Java Reihe sehr verständlich. Vielen Dank für deine Videos! Mach weiter so :)

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

      Hey, vielen Dank für den tollen Kommentar! Es freut mich sehr dass ich dir mit den Videos helfen kann! 😁✨

  • @sliyZze
    @sliyZze 2 роки тому +6

    Alle deine Videos sind sehr informativ da macht das Coding gleich viel mehr spaß!

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

      Das freut mich sehr, danke dir! 😁✨

  • @soapnetwork
    @soapnetwork Рік тому +3

    Ich lerne gerade für meine Infoklausur morgen. Das Video war perfekt und hat mir extrem geholfen. Vielen Dank!!!

  • @h3xx1tt
    @h3xx1tt 11 місяців тому +1

    Ich hab mir bisher jetzt deine Videos rund um Java von dir angesehen ...
    Und ich sag dir so wie es ist das ist einfach Top erklärt und hilft jedem der das gerade lernen will.
    Mach weiter so :)
    Bin gerade im 1. Lehrjahr meiner Umschulung und das is einfach Top!!!

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

    Vielen Dank für die coolen Tutorials. Ich finde, du bietest (zumindest im kostenlosen Bereich) das beste Programm an.
    Nachdem ich mich nun einige Wochen intensiv in Java eingelernt habe und einige kleine Probieraufgaben gelöst habe, wollte ich nun dein Spiel hier als Ausgangspunkt nehmen und mit all dem Gelernten erweitern. Das ist mir bisher auch ziemlich gut gelungen: Ich habe aus diesem Spiel eine Art MiniRPG gemacht, wo das Gold random spawnt und der Spieler beim Aufsammeln Gold, Rüstung und Angriff sammelt (Werte ebenfalls mit random und switch-case), meine Schlange hat einen Angriffs und Verteidigungswert, bewegt sich langsamer als deine und bei Berührung mit Spieler findet ein Kampf statt, der die Schlange besiegt oder das Spiel beendet. Das war alles gar nicht so schwierig. Haarig wurde es erst, als ich das Programm nun OBJEKTORIENTIERT - also in mehreren Klassen - neu schreiben wollte. Aber auch darin habe ich mich so reingefuchst, dass alles läuft.
    NUN ABER MEINE FRAGE:
    Kann man den Konstruktor (z.B. meines Spielers) so programmieren, dass er direkt einen Punkt ausgibt? Momentan läuft die bewegeSpieler()-Methode nämlich nur, wenn ich einen Point(newPoint) spieler erzeuge. Da mein Spieler aber auch noch die Attribute Angriff, Verteidigung und Gold hat, muss ich ausßerdem einen Spieler(newSpieler) spieler1 erzeugen, der dann über getter und setter seine x-/y-Koordinate an den Point spieler weitergibt. Das finde ich umständlich und irgendwie auch redundant. Ich hätte gern nur eine Instanz meiner Klasse Spieler, die bestenfalls im Konstruktor einen Punkt erzeugt bzw. die bewegeSpieler()-Methode mit ihren Attributen xPosition und yPosition betreibt. Pogrammiert (ohne Fehlermeldung) habe ich das auch. Aber die Konsole setzt das P dann nach der WASD-Eingabe trotzdem nicht auf einen neue x/y-Stelle...
    Ich danke schon einmal allen ganz doll für Tipps. Danke dir, Jonas, für die guten Anleitungen!

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

      Hey Blackaver, erstmal vielen vielen Dank für die netten Worte!! Macht mich echt glücklich zu sehen, dass du da so viele neue Ideen einbauen konntest!
      Zu deiner Frage: Wenn dein Spiel auf einem komplexen Level ist macht es zu 100% Sinn das Ganze objektorientiert zu gestalten. Dein Problem ist ja, dass du die Attribute vom Spieler behalten möchtest, wenn du das Ganze Feld neu generierst.
      Die Beste Lösung dafür sieht so aus: Du ersetzt den Point „Spieler“ durch eine Klasse Spieler, die die entsprechenden Koordinaten, sowie Angriffs-, Verteidigungswert, etc. als Attribute hat und schreibst in der Klasse Spieler für diese Attribute (also auch deine Position) Getter und Setter. Im Hauptprogramm ersetzt du die SpielerPosition durch ein Objekt vom Typ Spieler. Jetzt kannst du anstatt spielerPosition (die ja nur ein Point ohne Logik ist) mit spieler.getPosition() arbeiten (also der konkreten Position deines Spielerobjektes).
      Um den Spieler dann zu bewegen würde ich dir raten, im Spieler die Methoden bewegeNachOsten, bewegeNachNorden, etc. zu implementieren und diese dann aufzurufen, wenn du deine Eingabe im Hauptprogramm machst :)
      Ich hoffe ich konnte dir damit weiterhelfen. Meld dich sonst auch gern mal auf Discord damit wir uns den Code anschauen können! LG Jonas

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

    Danke fürs Erklären :D
    Habs jetzt endlich richtig verstanden, warum man das so macht

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

    Danke für die super Erklärungen. Ich lerne mit deinen Videos für die Klausur an der Uni.

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

      Danke für deinen Kommentar Marcel, freut mich sehr, dass ich dir helfen kann😁🙌🏻

  • @graigs7888
    @graigs7888 Місяць тому

    Super Videos, super Playlist. Danke dir!

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

    Also , ich schaue mir gerade alle videos in reinfolge an , und muss sagen du erklärst alles sehr gut , aber hier hast du einen guten sprung beim schnitt gemacht

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

    Ey ich danke dir. Die erklärung war so simpel aber unser lehrer hat den part einfach übersprungen wo er das uns erklären sollte.

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

    Immer noch super video! Deine Erklärungen sind immer top! So versteh ich alles :D Danke !

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

    super super super Videos! schaue auch die Basics immer wieder durch, um mein Wissen "frisch" zu halten. Thanks! ;)

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

    Großes Kino! Vielen Dank!

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

    Danke dir sehr informativ und gut erklärt :D

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

      Freut mich, danke Hannes!😁💪🏼

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

    Vielen lieben Dank für deine Arbeit. Du hast mir wirklich sehr geholfen!

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

    Ich fand das Thema auch sehr angenehm und strukturiert rübergebracht, was mir allerdings gefehlt hat ist, dass man drauf hätte hinweisen können, dass die Setter noch einen anderen Vorteil haben, nämlich die Plausibilitätsprüfung der eingegebenen Werte, denn so kann man z.b im Setter verhindern, dass jemand Jeff ein alter von z.b 179 Jahren gibt.

  • @antoniabrnic8512
    @antoniabrnic8512 7 місяців тому

    Einfach nur toll!!

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

    tolles video, malwieder :) sehr nice, dankesehr Jonas!

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

    habe immer noch nicht verstanden in wie fern jetzt die getter und setter den code schützen sollen? war doch vorher ja auch so. man hat mit strg+p ja auch nur die auswahl gesehen und nachher ebenfalls 🤔🤔
    top videos. sehr angenehme erklärmethode 😊👌👌👌

  • @ontheskyblue
    @ontheskyblue 28 днів тому

    Vielen Dank. 😊

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

    🎉Wenn euch die Videos gefallen, dann unterstützt mich auf Patreon : www.patreon.com/JonasKeil
    📢Als Community Java lernen *(Discord)* : discord.gg/wkWe3FvdSu
    🚀Lerne Java in einer *Playlist* : bit.ly/3GKMucx

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

    super erklärt, danke dir

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

      Vielen Dank für das Feedback Jan! 🙏🏻👍🏻

  • @antoniabrnic8512
    @antoniabrnic8512 7 місяців тому

    Vielen Dank !!!!

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

    Sehr gutes Video! :)

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

      Danke für das Lob!😁🎉

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

    mit Lombok @getter und @setter geht es viel angenehmer .. Nun, da ich selbst noch anfänger bin, ist dieses Wissen über getter und setter allgemein, vorrausetzung

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

    Liebe deine Videos 👍

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

    vielen Dank👍

  • @VladRomanov-z3f
    @VladRomanov-z3f 11 місяців тому

    Danke

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

    du bist der einzige Grund wieso ich meine Prüfung bestanden habe hmdl mein bruder

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

      Hey Lukas, freut mich dass ich dir weiterhelfen konnte! Glückwunsch zur bestandenen Prüfung!!😁👊🏻

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

    Besser kann man dieses Thema nicht erklären(TOP Daumen hoch + ABO). In meinen Studienheft sind alle Themen sowas von trocken beschrieben, sodass ich mir lieber zuerst deine Videos anschaue, bevor ich mein Studienheft aufschlage ;)

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

    Zuerst einmal: super Video! Ich hätte aber noch eine Frage: wie sehen Getter und insbesondere Setter für ein Array Attribut aus?

  • @Kenny_538
    @Kenny_538 19 днів тому

    dankee

  • @Linkinpurk
    @Linkinpurk 5 місяців тому

    danke

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

    Jonas eine Sache beschäftigt mich:
    Nehmen wir mal an, ich möchte eine Android App programmieren, muss ich dann mit anderen Programmen zusammenarbeiten, wie z.B Javascript, html und css? Oder kann man das alles mit Voransicht(wie das App später wird) in Java alles programmieren? Ich denke ich hätte das alles längst verstanden, aber niemand erzählt in einem Video das Gesamtpaket oder ich habe es nicht gefunden. Das ist das selbe, wenn ich jemanden Video Schnitt zeige und am Ende nicht zeige was er nun damit machen soll. Wie man es rendert und in gewünschte Format abspeichert.

    • @JonasKeil
      @JonasKeil  2 роки тому +3

      Hey, ich verstehe sehr gut was du meinst. Dir fehlt ein Überblick, der dir eine gewisse Richtung im Programmieren vorgibt. Ich versuche es einmal grob zu erklären:
      - Eigentlich ist alles was du für einen Kunden / Spieler / User programmierst nach dem "3 Schichten Modell" aufgebaut. Die 3 Schichten sind das Frontend (das was der Nutzer sieht), das Backend (dort steckt die Logik, also das was wir programmieren) und eine Datenbankschicht (dort, wo die Daten liegen)
      - Je nach Plattform und Schicht gibt es unterschiedliche Programmiersprachen
      - Für die Nutzeransicht (das Frontend) verwendet man z.B. HTML + CSS + JavaScript bei Websiten, bei einer Handyapp könntest du dafür aber auch Java oder Dart (Flutter) verwenden
      - Für das Backend kannst du eigentlich jede Programmiersprache benutzen. (Außer du willst Handyapps programmieren, dann am besten mit Java oder Dart) Wenn du z.B. WebApps erstellen möchtest (= "Der Code hinter Websiten") hat jede Programmiersprache ein sogenanntes Framework. Bei Java ist das Spring, bei Ruby wäre es Ruby on Rails, bei Go wäre es Martini, etc. Schau dir hierfür gern mal dieses Video an: ua-cam.com/video/FQPlEnKav48/v-deo.html
      - Für die Datenbankschicht kannst du jetzt verschiedene Datenbanken verwenden. Hier auch nochmal ein Video das dir weiterhelfen kann: ua-cam.com/video/W2Z7fbCLSTw/v-deo.html
      - Diese Schichten sind voneinander unabhängig, das heißt, du kannst die Programmiersprache in deinem Backend austauschen ohne deine Datenbank oder dein Frontend anpassen zu müssen
      - "Vermischen" kann man Programmiersprachen nicht, es gibt aber eine Schnittstelle, über die verschiedene Programmiersprachen und Computer miteinander kommunizieren: REST API. Hier auch nochmal ein gutes Video dazu: ua-cam.com/video/-MTSQjw5DrM/v-deo.html
      Ich hoffe das hilft dir weiter :)

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

    Hier auch eine Frage bezüglich Setter: wenn man nun, wie bei den Lieblingssongs, ein Array dadurch ersetzen will, ist dies auch innerhalb der Klammern möglich, oder muss man sich vorher immer eine eigene Variable dafür entwerfen?

  • @XiReVelution
    @XiReVelution 2 роки тому +3

    Lösung für die Challenge:
    public String[] getLieblingssongs() {
    return lieblingssongs;
    }
    public void setLieblingssongs(String[] lieblingssongs) {
    this.lieblingssongs = lieblingssongs;
    }

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

      jeff.setLieblingssongs("Meine Cosuine","Shababs botten");

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

      Perfekte Lösung, ist angepinnt! :))

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

      @@JonasKeil Das hat bei mir überhaupt nicht funktioniert, selbst wenn ich das hier abtippe funktioniert es nicht

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

      @@Alarium gut dass du es sagst. In der Lösung fehlt leider die Variable String[] lieblingssongs. Wenn du dir die erstellst sollte alles funktionieren :)

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

      ​@@JonasKeil das funktioniert immernoch nicht, also Arrays und Getter und Setter klappt bei mir leider gar nicht

  • @gm3794
    @gm3794 7 місяців тому

    nice

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

    👏🏼

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

    Hi, ich hab eine Frage bezüglich der Setter-Methode: Muss man hier auch immer mit " this.x " arbeiten?

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

      Ja denn in der Regel heißt die Variable, die du übergibst genauso wie das Attribut, dem du diesen Wert zuweisen möchtest. Um hier zu unterschieden brauchen wir darum das Schlüsselwort „this“ :)

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

    Ich finde die Videos wirklich gut und lehrreich... leider nur so unfassbar schnell, dass man gar nicht die Möglichkeit hat, das gesagte zu im Sinn zu verstehen bzw. sich zu merken.

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

      Hey Julian, danke für die Rückmeldung, werde auf jeden Fall dran arbeiten! :)

  • @n.m.c.5851
    @n.m.c.5851 Рік тому

    danke