OOP individual + standard-Konstruktoren

Status
Nicht offen für weitere Antworten.

Exflame

Mitglied
Hab nur eine Verständnisfrage, ob ich es nun endlich kapiert habe! (ist derzeit Thema bei uns in Software-Entwicklung!)

Ein Teil aus unserer Aufgabe:

1. - auf MyAppMitarbeiter

Mitarbeiter Schneider = new Mitarbeiter(); //Object erzeugen
Schneider.setMitarbeiterNummerMitarbeiterNameEintrittsJahrEintrittsMonat(3,"Schneider",2009,04)

- auf Mitarbeiter

public void setMitarbeiterNummerMitarbeiterNameEintrittsJahrEintrittsMonat(int a, String b, int c, int d)
{
......
}

ist das ein "individual Konstruktor?"

2. - auf MyAppMitarbeiter

Mitarbeiter Schneider = new Mitarbeiter(3,"Schneider",2009,04) //Object erzeugen und Werte übergeben

- auf Mitarbeiter

public Mitarbeiter()
{

}
public Mitarbeiter(int a,......)
{
this.mitarbeiterName=a;
.........
}
ist das ein "standard Konstruktor?"

Get-Methoden müssen bei beiden Konstruktoren verwendet werden, da sonst keine Rückgabewerte erfolgen.
Set-Methoden nur bei dem "individual" Konstruktoren.

Danke Euch schonmal!

VG
Exflame :autsch:
 

eRaaaa

Top Contributor
Hab nur eine Verständnisfrage, ob ich es nun endlich kapiert habe! (ist derzeit Thema bei uns in Software-Entwicklung!)

Ein Teil aus unserer Aufgabe:

1. - auf MyAppMitarbeiter

Mitarbeiter Schneider = new Mitarbeiter(); //Object erzeugen
Schneider.setMitarbeiterNummerMitarbeiterNameEintrittsJahrEintrittsMonat(3,"Schneider",2009,04)

- auf Mitarbeiter

public void setMitarbeiterNummerMitarbeiterNameEintrittsJahrEintrittsMonat(int a, String b, int c, int d)
{
......
}

ist das ein "individual Konstruktor?"
WTF? gehts noch länger? :D nein, das ist eine methode, kein konstruktor
2. - auf MyAppMitarbeiter

Mitarbeiter Schneider = new Mitarbeiter(3,"Schneider",2009,04) //Object erzeugen und Werte übergeben

- auf Mitarbeiter

public Mitarbeiter()
{

}
public Mitarbeiter(int a,......)
{
this.mitarbeiterName=a;
.........
}
ist das ein "standard Konstruktor?"
das erste
Java:
public Mitarbeiter()
{

}
ist der defaultkonstruktor. das zweite ist ein konstruktor dem du werte mit übergibst.
 

tfa

Top Contributor
Ein Standard-Konstruktor bzw. Default-Konstruktor wird genau dann angelegt, wenn kein "Individual"-Konstruktor definiert wurde. Der Standard-Konstruktor ist parameterlos.
Wie ich das sehe, ist 1. Standard und 2. "Individual".
Was du mit den Gettern/Settern meinst, verstehe ich nicht.
 

Exflame

Mitglied
Aha, also

public auto()
{
}

ist demnach ein Standardkonstruktor, den Java automatisch anlegen würde, wenn wir ihn nicht "explizit" aufführen, um diesen im Java-Doc verankern zu können. Übergabe der Werte erfolgt dann über die Methode. Bei uns in der Schule wären das diese "set" und "get" Methoden.

Beispiel aus einer anderen Aufgabe:

Java:
     Tank verkehr = new Tank();                                                 //Standard-Konstruktor & Object-Erzeugung
     verkehr.setTank(entf,preisA,preisD,tank);


Java:
   public Tank()
   {
   }

   public void setTank(int e, double a, double d, int t)
   {
    this.entfernung=e;
    this.preisA=a;
    this.preisD=d;
    this.tankMenge=t;
   }

Sorry, das ich so bohre! Aber ich bin irgendwie langsam wirr im Kopf! :confused:
 

Schumi

Bekanntes Mitglied
Hm, eine set...() Methode die direkt mehrere Instanzvariablen setzt würde ich nicht nutzen, eher für jede Variable eine eigene:
Java:
public Tank()
{
}
 
public void setEntfernung(int entfernung)
{
   this.entfernung=entfernung;
}
public void setPreisA(double preisA)
{
    this.preisA=preisA;
}
//usw...
Odereben doch über einen Konstruktor mit den zu setzenden Variablen als Parameter.
Java:
public Tank(int e, double a, double d, int t)
{
    this.entfernung=e;
    this.preisA=a;
    this.preisD=d;
    this.tankMenge=t;
}

Eta: Oder besser gleich den Post hier drunter lesen V :)
 
Zuletzt bearbeitet:

KrokoDiehl

Top Contributor
Nun, in der Objekt-Orientierung haben Klassen verschiedene Attribute (Eigenschaften). Z.B. ein Mensch hat Vor- und Nachnamen:
Java:
public class Mensch
{
    protected String vorname;
    protected String nachname;
}
Wenn du ein neues Objekt anlegen willst, musst du das über einen Konstruktor tun. Ist keiner angegeben, so wird immer ein Standardkonstruktor erzeugt. Also sieht die obere Klasse quasi wie folgt aus:
Java:
public class Mensch
{
    protected String vorname;
    protected String nachname;

    // Standardkonstruktor
    public Mensch()
    {
    }
}
Jetzt hat man hier aber das Problem, dass man dem neuen Menschen (dem neuen Objekt) auch neue Attributswerte (Vor- und Nachname) geben will. Hierfür kann man sich z.B. noch einen eigenen Konstruktor (Individualkonstruktor wie du es nennst) machen:
Java:
public class Mensch
{
    protected String vorname;
    protected String nachname;

    // Standardkonstruktor
    public Mensch()
    {
    }

    // Individualkonstruktor
    public Mensch(String vorname, String nachname)
    {
        this.vorname  = vorname;
        this.nachname = nachname;
    }
}
Damit kann man direkt einen Menschen mit Namen erzeugen:
Code:
new Mensch("Max", "Muster");

Wenn du nur den Std.konstruktor hast, dann muss man über andere Wege die Namen setzen können. Das geschieht konventionell über so genannte Setter:
Java:
public class Mensch
{
    //...

    // Setter für den Vornamen
    public void setVorname(String vorname)
    {
        this.vorname = vorname;
    }

    // analog für den Nachnamen
}
Damit hat man beim Erstellen neuer Menschen (...klingt sehr biologisch, ich weiß ;) ) folgende Möglichkeiten:
Java:
// über den Standardkonstruktor
Mensch berta = new Mensch();   // hat bisher keinen Vor- und Nachnamen!
berta.setVorname("Berta");     // ...daher ist der Setter nötig
berta.setNachname("Beispiel");

// zum gleichen Ergebnis führt aber diese Zeile:
Mensch berta = new Mensch("Berta", "Beispiel");

Getter sind schließlich die Gegenrichtung von Settern. Da man Vor- und Nachname von außen nicht einsehen kann, kann man Getter-Methoden schreiben die diese Werte nach außen geben:
Java:
public class Mensch
{
    // ...
    
    // Getter für den Vornamen
    public String getVorname()
    {
        return this.vorname;
    }
}
Das ist z.B. nützlich wenn man sich den Menschen ausgeben will:
Code:
System.out.println("Mein Mensch heißt: " + berta.getVorname());
 

Exflame

Mitglied
He Leute, Ihr seid Klassse! Jetzt hat es ENDLICH bei mir "pling" gemacht! :applaus:
Oh man, war das eine schwere Geburt! :lol:

Danke nochmal! :toll:
 
X

xflames Kollege

Gast
Das Kommt davon wenn ein Herr Modrow in das Kapitel so viele Fremdwörter reinschmeißt ohne eine genaue schriftliche beschreibung mit Beispielen bereit zu legen.

Aber von mir auch nochmal vielen Dank

Gruß J
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Standard resources-Verzeichnis ändern Java Basics - Anfänger-Themen 9
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
ZH1896ZH JDK installieren JRE 1.8.0_221 als Standard einstellen Java Basics - Anfänger-Themen 5
redcow Java Standard-Bibliothek Java Basics - Anfänger-Themen 3
Kenan89 Wo sind die Java Standard Library Source Codes zu finden? Java Basics - Anfänger-Themen 5
L Standard Font ändern Java Basics - Anfänger-Themen 4
O Nicht Standard Form boolesche Funktion in Standard Form parsen Java Basics - Anfänger-Themen 3
M OOP Java Klassen Microedition vs. Java 2 Standard Edition Java Basics - Anfänger-Themen 5
J Standard Exceptions abfangen Java Basics - Anfänger-Themen 5
E Datentypen Klasse Vector aus der Standard-API anwenden Java Basics - Anfänger-Themen 7
M Standard-Klassen auf Server nicht verfügbar Java Basics - Anfänger-Themen 7
G Standard JTree ausblenden? Java Basics - Anfänger-Themen 5
L Thread-Handling & Standard-Ausgabe verschönern Java Basics - Anfänger-Themen 7
K Java Programm als Standard Programm für bestimmte Dateitypen Java Basics - Anfänger-Themen 13
M Standard Ausgabe umlenken Java Basics - Anfänger-Themen 2
J protected und Standard Sichtbarkeit Java Basics - Anfänger-Themen 2
G Standard OutputStream out wiederherstellen Java Basics - Anfänger-Themen 5
N Verschiedene Konstruktoren mit gleichen Datentypen Java Basics - Anfänger-Themen 8
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
lougoldi Verkettung von Methoden und Konstruktoren Java Basics - Anfänger-Themen 4
J Konstruktoren und Grafik Java Basics - Anfänger-Themen 3
A Cannot find symbol mit Konstruktoren Java Basics - Anfänger-Themen 27
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
C Objekte und Konstruktoren Java Basics - Anfänger-Themen 2
M Methodenaufrufe im Konstruktoren Java Basics - Anfänger-Themen 31
A Konstruktoren Vererbung Java Basics - Anfänger-Themen 3
W Vererbung, abstract und Konstruktoren Java Basics - Anfänger-Themen 30
M Vererbung Konstruktoren mit festen Werte Java Basics - Anfänger-Themen 2
F Mehrere Konstruktoren? Wofür? Java Basics - Anfänger-Themen 21
J Konstruktoren in Initialisierungsblöcke Java Basics - Anfänger-Themen 6
T Konstruktoren Java Basics - Anfänger-Themen 25
D was bedeutet this. bei Konstruktoren? Java Basics - Anfänger-Themen 4
C Konstruktoren und Vererbung Java Basics - Anfänger-Themen 2
C Die Klasse Menge mit Konstruktoren und einfachen Methoden Java Basics - Anfänger-Themen 5
F Mehrere Konstruktoren Java Basics - Anfänger-Themen 10
G Was ist der Nutzen von generischen Konstruktoren? Java Basics - Anfänger-Themen 4
Q Methoden Konstruktoren anlegen Java Basics - Anfänger-Themen 5
B Objekte in Konstruktoren übergeben Java Basics - Anfänger-Themen 5
D Zähler nicht sichtbar (Thema: Konstruktoren) Java Basics - Anfänger-Themen 2
A Überladen von Konstruktoren Java Basics - Anfänger-Themen 2
V Konstruktoren Java Basics - Anfänger-Themen 15
C Klassen StackOverflow bei erster Nutzung von Klassen/Konstruktoren Java Basics - Anfänger-Themen 9
F Konstruktoren Java Basics - Anfänger-Themen 4
M Erste Schritte Verständnis Problem Konstruktoren Java Basics - Anfänger-Themen 13
Y Klassen, Vererbung, Konstruktoren Java Basics - Anfänger-Themen 13
B Klassen Unterschied Konstruktoren. Java Basics - Anfänger-Themen 3
C Erste Schritte Konstruktoren verstehen Java Basics - Anfänger-Themen 7
W OOP Konstruktoren Erklärung Java Basics - Anfänger-Themen 14
N Abarbeitungsreihenfolge von Konstruktoren Java Basics - Anfänger-Themen 12
O Klassen und Konstruktoren Java Basics - Anfänger-Themen 7
V Konstruktoren -> Funktionsaufrufe Java Basics - Anfänger-Themen 7
Q Konstruktoren und Methoden Java Basics - Anfänger-Themen 2
C Konstruktoren Java Basics - Anfänger-Themen 7
J Konstruktoren Java Basics - Anfänger-Themen 10
M Konstruktoren & Veerbung Java Basics - Anfänger-Themen 6
T Konstruktoren Java Basics - Anfänger-Themen 6
P Enum Attribut in Konstruktoren Java Basics - Anfänger-Themen 10
R Vererbung Konstruktoren nicht erkannt Java Basics - Anfänger-Themen 17
H Klassen, Konstruktoren, Instanzen etc Java Basics - Anfänger-Themen 6
J OOP Konstruktoren, setMethode, getMethode usw. Java Basics - Anfänger-Themen 7
A überladene Konstruktoren Java Basics - Anfänger-Themen 7
L Frage zu Konstruktoren und dem this Operator Java Basics - Anfänger-Themen 16
W 2 Konstruktoren Java Basics - Anfänger-Themen 8
B Vererbung und Konstruktoren Java Basics - Anfänger-Themen 33
N Vererbung von Konstruktoren mit Parametern Java Basics - Anfänger-Themen 7
S Konstruktoren verketten Java Basics - Anfänger-Themen 6
A Konstruktoren sollen sich gegenseitig aufrufen Java Basics - Anfänger-Themen 10
B Konstruktoren Sichtbarkeit Java Basics - Anfänger-Themen 2
K Kann man Private-Konstruktoren doch aurufen? Java Basics - Anfänger-Themen 8
E Konstruktoren und Methoden Java Basics - Anfänger-Themen 10
S Konstruktoren? Java Basics - Anfänger-Themen 5
K Konstruktoren Java Basics - Anfänger-Themen 13
H Konstruktoren – super! Java Basics - Anfänger-Themen 3
L Geschachtelte Konstruktoren Java Basics - Anfänger-Themen 4
hdi Kleine Design/Convention Frage zu Konstruktoren Java Basics - Anfänger-Themen 4
J Vererbung und Konstruktoren Java Basics - Anfänger-Themen 14
J Problem mit Konstruktoren Java Basics - Anfänger-Themen 2
G Überladen von Konstruktoren mit unterschiedlichen Datentypen Java Basics - Anfänger-Themen 4
H Befehl mit Konstruktoren Java Basics - Anfänger-Themen 2
L Konstruktoren bei Vererbung Java Basics - Anfänger-Themen 13
Z wie kann ich überladene Konstruktoren "umleiten"? Java Basics - Anfänger-Themen 11
D Blöde(?) Frage zu Konstruktoren und set-Methoden Java Basics - Anfänger-Themen 3
G Interface und Konstruktoren Java Basics - Anfänger-Themen 3
G Frage zu Konstruktoren Java Basics - Anfänger-Themen 12
G Verständnisfrage zu Konstruktoren Java Basics - Anfänger-Themen 5
G Konstruktoren Java Basics - Anfänger-Themen 9
A Konstruktoren überladen Java Basics - Anfänger-Themen 9
H Konstruktoren + Hilfe Java Basics - Anfänger-Themen 12
H Konstruktoren werden nie geerbt Java Basics - Anfänger-Themen 3
O Vor-/Nachteile/Unterschiede von Konstruktoren und Methoden Java Basics - Anfänger-Themen 3
Bierhumpen 2 Konstruktoren Java Basics - Anfänger-Themen 15
T mehrere Konstruktoren für eine Klasse Java Basics - Anfänger-Themen 7
J Instantvariablen und Konstruktoren Java Basics - Anfänger-Themen 2
Y Vererben - Konstruktoren Java Basics - Anfänger-Themen 2
Z übergabe von string[] an konstruktoren oder methoden Java Basics - Anfänger-Themen 3
L Klassen, Vererbung und Konstruktoren Java Basics - Anfänger-Themen 10
S Frage zu Konstruktoren Java Basics - Anfänger-Themen 7
G Problem mit Gültigkeit von Variabeln und Konstruktoren Java Basics - Anfänger-Themen 4
C Konstruktoren Java Basics - Anfänger-Themen 4
G Konstruktoren (was, wozu, wieso, warum) Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben