• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Konstrukter verstehen

Status
Für weitere Antworten geschlossen.

HappyMajor

Minecrafter
Registriert
6 Oktober 2012
Beiträge
21
Diamanten
0
Hey Leute
Ich lerne seit 2 Tagen Java und habe glaube ich ein kleines Verständnis Problem was die Konstrukter angeht.
Ich lerne mit den Buch "jetzt lerne ich Java 7" und wollte euch fragen ob ich das richtig verstanden habe.
Denn wenn ich versuche so ein Konstrukter mit Instanzen selber zu schreiben,hakt es manchmal irgendwie noch.
Weil ich manche Sachen noch nicht ganz nachvollziehen kann.
Hier ein Beispiel:
Code:
class Mitarbeiter {                       // Also hier ist normal eine Klasse erstellt worden und ein paar Variablen/Felder
  String m_name;
  String m_vorname;
  int m_gehalt;

  Mitarbeiter(String name, String vorname, int gehalt) {          // Das ist der Konstrukter,die Variablen in den Parametern sind dazu da,um
   m_name = name;                                                         // mit anderen Methoden zsm zu arbeiten oder? So das andere Methoden
   m_vorname = vorname;                                                // darauf zugreifen können richtig?
   m_gehalt = gehalt;                                                      // Aber warum müssen genau hier die Variablen initialisiert werden?
  }                                                                               // Hätte man das nicht schon oben machen können?


  void datenAusgeben() {                                                // Hier mit werden die Daten dann später ausgegeben
    System.out.println("\n");                                             
    System.out.println(" Name   : " + m_name);
    System.out.println(" Vorname: " + m_vorname);
    System.out.println(" Gehalt : " + m_gehalt + " Euro");
  }
  void gehaltErhoehen(int erhoehung) {                        // Hiermit soll später das Gehalt erhöt werden
    m_gehalt += erhoehung;
  }
}


public class MitarbeiterBeispiel {                             
  public static void main(String[] args) {

    Mitarbeiter billy = new Mitarbeiter("Gates","Bill",3000);          // Hier werden neue Instanzen erstellt mit den 3 Parametern die der
    Mitarbeiter stevie = new Mitarbeiter("Jobs","Steve",3500);    // Konstrukter benötigt,die schliesslich ausgegeben werden oder?
                                                                                           // Aber wieso eig z.b Mitarbeiter billy wieso nicht: String billy = ...... ?
    billy.datenAusgeben();                                                      //  Denn Variablen deklariert man doch mit einen bestimmten Speichertyp? z.b String
    stevie.datenAusgeben();                                                  // Und wozu wird stevie.datenAusgeben(); Benutzt? Hat doch gerade gar keine BEdeutung oder?

    billy.gehaltErhoehen(500);

    billy.datenAusgeben();
    stevie.datenAusgeben();
  }
}
So das waren erstmal meine Fragen hoffentlich könnt ihr sie beantworten.

EDIT : WIeso macht der Editor hier einfach neue Zeilen obwohl ich dort gar keine neue Zeile gemacht habe?
Wie mach ich das denn hier,das alles so da steht wie ich es geschrieben habe?
 
Zuletzt bearbeitet:

viebi

Minecrafter
Registriert
8 Oktober 2012
Beiträge
6
Diamanten
0
Hey,

ich weiss nicht ob das Beispiel von dir geschrieben wurde odernicht, glaube aber eher nicht. Ein Konstruktor ist dazu da um die (Grundvaribalen) zuzuweisen bzw ihnen einen Wert zu geben --> initialisieren. Das ganze kann man auch aus dem Namen herleiten, es bedeutet soviel wie Erbauer oder Aufbauer. Sobald man einen class aufruft, in deinem Fall die Mitarbeiter class weisst man ihm die zugehörigen Werte zu:

Mitarbeiter a = new Mitarbeiter("Hans", "Wurst", 10000);

Der Konstruktor hat wiegesagt die Hauptaufgabe Variablen zuzuweisen und (glaube ich) Funktionen aufzurufen. Man hat zusätlich die Möglichkeit die höher stehende Class zu initialisieren, doch das führt zu weit, das lernst im Bereich Vererbung kennen ;)

Ich weiss nicht genau ob dir das hilft, falls du weitere Fragen hast, gerne

MfG Lukas
 

HappyMajor

Minecrafter
Registriert
6 Oktober 2012
Beiträge
21
Diamanten
0
Ich hab gerade den Code feihand ohne nach zu lesen selber geschrieben und das ging eig sehr gut! :D
Natürlich mit anderen Variablen und Namen. Ich hatte einen Fehler,nämlich ein Semikolon falsch gesetzt :p

Also ist der Konstruktor dafür da Standart Variablen zuzuweisen oder?
Z.b Geschlecht,Name usw.

Bloss ich wusste nicht genau WARUM ich die Variablen im Konstruktor initialisieren muss.Ich hätte das doch auch
oben machen können?

Ich will nämlich alles bis ins kleinste Detail wissen,denn wenn ich später dann so einen Code schreibe und eig nicht komplett
verstehe wie der funktioniert bringt mir das nichts^^
 

viebi

Minecrafter
Registriert
8 Oktober 2012
Beiträge
6
Diamanten
0
klar, kannst du es auch oben direkt machen, nur dann bringt dir eine eigene Klasse für etwas wenig. Klassen sind oft dazu da, um etwas zu verallgemeinern und diese öfeter zu benutzen, gehen wir mal davon aus, du brauchst zwei Mitarbeiter. Dann könntest du zwei Klassen erstellen Mitarbeiter A, alles oben direkt initialisieren und eine Klasse für Mitarbeiter B. Erstellst du eine allgemeine Klasse, brauchst du nur der Klassen die Eigenschaften/Varibalen zuzuweisen und fertig. Und das ganze musst du dir im Grossen Maß vorstellen, wo es nicht nur zwei Mitarbeiter gibt, sonder tausend ;)

MfG
 
Status
Für weitere Antworten geschlossen.
Oben