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

Getter und Setter machen es dir möglich, auf private Attribute anderer Klassen zuzugreifen. Getter geben dir ihren Wert und Setter verändern diesen.
0:00 Einleitung
0:14 Zusammenfassung Public & Private
1:19 Konzept Getter & Setter
2:04 Getter in Java
3:22 Aufbau von Gettern
4:11 Setter in Java
4:30 Aufbau von Settern
5:42 Übung: Getter & Setter erstellen
7:44 Das Konzept hinter Getter & Setter
10:06 Challenge: Getter & Setter erstellen
📚Das könnte dich auch interessieren:
- Public & Private in Java: • Public und Private in ...
- For-Each in Java: • FOR EACH Schleife in J...
- Break & Continue in Java: • BREAK, CONTINUE und LA...
Getter und Setter sind öffentliche Methoden, durch die du private Attribute mit anderen Klasse teilen kannst. Dabei geben Getter den Wert deines Attributs zurück, während es Settern anderen Klassen ermöglicht, diesen Wert zu verändern. Der Vorteil an so einer Konstruktion, ist das du "die innere Logik" von Klassen verschleierst. Dieses Konzept nennt sich in Java Kapselung.
🚀 Lerne #Java in einer Playlist - bit.ly/3GKMucx
Getter und Setter können am Anfang kompliziert erscheinen... aber sicher wirst du es trotzdem verstehen! :) Meinen Respekt, wenn du neben dem #Tutorial mitmachst und dich an den Challenges versuchst! Dann wirst du Getter und Setter in Java wirklich verinnerlichen!
Lass mich in den Kommentaren wissen ob dir dieses Video geholfen hat, Getter und Setter besser zu verstehen!
👾 Code aus den Tutorials: github.com/Jonas-Keil/learn-java
============
🔔 Abonniere um kein weiteres Video zu verpassen: kzread.info?s...
============
📢 Link zur Discord-Community: / discord
============
🎉 Wenn dir meine Videos gefallen, unterstütze mich auf Patreon: / jonaskeil
▬👇🏻Hilfreiche Links👇🏻 ▬▬▬▬
1. Java IDEA 💻 aus den Videos: www.jetbrains.com/de-de/idea/...
2. Links zu meinem Equipment 🛠: kit.co/JonasKeil/studio-setup
3. Musik 🎶 aus allen Tutorials: www.epidemicsound.com/referra...
4. Java Bücher📚 die ich dir empfehlen kann: kit.co/JonasKeil/die-besten-j...
▬✨Über diesen Kanal✨ ▬▬▬▬
Du bist Student oder Schüler und möchtest die Programmiersprache Java Lernen, weißt aber nicht wo du anfangen sollst? Dann bist du auf diesem Kanal genau richtig!
Du findest auf diesem Kanal einen Leitfaden, der dir dabei hilft als Java Anfänger Schritt für Schritt Java zu lernen. Ich weiß, dass das nicht immer leicht ist und gebe mein Bestes, dir das Ganze so gut wie möglich zu erklären :) Viel Spaß!!
Jonas Keil❤
#Programmieren #Java
PS: Einige der Links in dieser Beschreibung sind Affiliate-Links, von denen ich eine Rückvergütung erhalte :)

Пікірлер: 64

  • @einfachpxtrick6956
    @einfachpxtrick69562 жыл бұрын

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

  • @iTzBoost

    @iTzBoost

    Жыл бұрын

    ; vergessen ;).

  • @darianw.

    @darianw.

    Жыл бұрын

    @@iTzBoost 😂

  • @ungezoockt
    @ungezoockt2 жыл бұрын

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

  • @JonasKeil

    @JonasKeil

    2 жыл бұрын

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

  • @mickiekrause6970
    @mickiekrause69702 жыл бұрын

    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 Жыл бұрын

    Das Video hilft mir weiter bei meiner Informatik Klausur, Danke

  • @soapnetwork
    @soapnetwork Жыл бұрын

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

  • @fairplay4014
    @fairplay40142 жыл бұрын

    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 жыл бұрын

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

  • @sliyZze
    @sliyZze2 жыл бұрын

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

  • @JonasKeil

    @JonasKeil

    2 жыл бұрын

    Das freut mich sehr, danke dir! 😁✨

  • @Aaackermann
    @Aaackermann Жыл бұрын

    Großes Kino! Vielen Dank!

  • @entchentv3740
    @entchentv3740 Жыл бұрын

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

  • @ictokhgjkgd
    @ictokhgjkgd Жыл бұрын

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

  • @h3xx1tt
    @h3xx1tt9 ай бұрын

    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!!!

  • @itsyuria
    @itsyuria7 ай бұрын

    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! ;)

  • @antoniabrnic8512
    @antoniabrnic85125 ай бұрын

    Einfach nur toll!!

  • @christianbecker2667
    @christianbecker266711 ай бұрын

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

  • @1701Marci
    @1701Marci2 жыл бұрын

    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😁🙌🏻

  • @blackavar1454
    @blackavar14542 жыл бұрын

    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

  • @gleichabgezockt
    @gleichabgezockt9 ай бұрын

    Liebe deine Videos 👍

  • @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

  • @hannesz6322
    @hannesz63222 жыл бұрын

    Danke dir sehr informativ und gut erklärt :D

  • @JonasKeil

    @JonasKeil

    2 жыл бұрын

    Freut mich, danke Hannes!😁💪🏼

  • @antoniabrnic8512
    @antoniabrnic85125 ай бұрын

    Vielen Dank !!!!

  • @yasinkhorasani9481
    @yasinkhorasani9481 Жыл бұрын

    vielen Dank👍

  • @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.

  • @janphilipp4335
    @janphilipp43352 жыл бұрын

    super erklärt, danke dir

  • @JonasKeil

    @JonasKeil

    2 жыл бұрын

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

  • @panagiotisnatsoglou6442
    @panagiotisnatsoglou64422 жыл бұрын

    Sehr gutes Video! :)

  • @JonasKeil

    @JonasKeil

    2 жыл бұрын

    Danke für das Lob!😁🎉

  • @gehteuchnixan9027
    @gehteuchnixan90277 ай бұрын

    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.

  • @user-hg7zq8cf9w
    @user-hg7zq8cf9w9 ай бұрын

    Danke

  • @JonasKeil
    @JonasKeil2 жыл бұрын

    🎉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

  • @n.m.c.5851
    @n.m.c.5851 Жыл бұрын

    danke

  • @gm3794
    @gm37945 ай бұрын

    nice

  • @user-ss5yj8gt4i
    @user-ss5yj8gt4i9 ай бұрын

    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

  • @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 😊👌👌👌

  • @michelkowol2259
    @michelkowol22592 жыл бұрын

    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?

  • @lukasngo5682
    @lukasngo56822 жыл бұрын

    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!!😁👊🏻

  • @Justin24081
    @Justin24081 Жыл бұрын

    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?

  • @reload1501
    @reload15012 жыл бұрын

    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“ :)

  • @Trasin
    @Trasin2 жыл бұрын

    👏🏼

  • @JonasKeil

    @JonasKeil

    2 жыл бұрын

    ❤🙌🏻

  • @mr_koc_ac1117
    @mr_koc_ac11172 жыл бұрын

    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 жыл бұрын

    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: kzread.info/dash/bejne/eIWEzqene8TcZJs.html - Für die Datenbankschicht kannst du jetzt verschiedene Datenbanken verwenden. Hier auch nochmal ein Video das dir weiterhelfen kann: kzread.info/dash/bejne/iWaOmcibc6-5hNo.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: kzread.info/dash/bejne/X4GItbOjp5iqorA.html Ich hoffe das hilft dir weiter :)

  • @kaywinkler2003
    @kaywinkler20032 жыл бұрын

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

  • @raphcamora

    @raphcamora

    2 жыл бұрын

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

  • @JonasKeil

    @JonasKeil

    2 жыл бұрын

    Perfekte Lösung, ist angepinnt! :))

  • @Alarium

    @Alarium

    2 жыл бұрын

    @@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 жыл бұрын

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

  • @Julianthoma97
    @Julianthoma972 жыл бұрын

    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! :)

  • @Linkinpurk
    @Linkinpurk3 ай бұрын

    danke