Konstruktoren und Methoden

ersti[09]

Mitglied
Hallo, ich bin es mal wieder.

Ich habe folgenden Code:

Java:
class Weihnachtsteller {

  static final int N = 10;
  String[] teller = new String[N];
  int naechsterPlatz = 0;

  void lege(String nascherei) {
    teller[naechsterPlatz++] = nascherei;
  }

  void ausgabe() {
    for (int i = 0; i < naechsterPlatz; ++i) {
      Out.print(teller[i] + " ");
    }
    Out.println();
  }
  
  void getName( ) { //fehlt, was man in die Klammer schreiben muss
  	  
  }

  void getGroesse( ) {
  	  
  }

}


class Start1 {

  public static void main(String[] args) {
    // Der folgende Weihnachtsteller erhält den Aufdruck "Susi" und hat 
    // Standardgroesse (20 cm Durchmesser)
    Weihnachtsteller teller1 = new Weihnachtsteller("Susi");

    // Der folgende Weihnachtsteller erhält den Aufdruck "Paul" und hat
    // einen Durchmesser von 25 cm
    Weihnachtsteller teller2 = new Weihnachtsteller("Paul", 25);

    // Der folgende Weihnachtsteller erhält keinen Namensaufdruck und
    // hat Standardgroesse
    Weihnachtsteller teller3 = new Weihnachtsteller();

    // Der folgende Weihnachtsteller erhält keinen Namensaufdruck und
    // hat einen Durchmesser von 10 cm
    Weihnachtsteller teller4 = new Weihnachtsteller(10);

    teller1.lege("Keks");
    teller1.lege("Nuesse");
    teller1.lege("Orangen");
    teller2.lege("Schokolade");
    teller2.lege("Marzipan");
    teller3.lege("Mandarinen");
    teller3.lege("Stollen");
    teller4.lege("Pralinen");
    teller4.lege("Pfefferkuchen");
    teller4.lege("Nougatstangen");


    Out.print("Inhalt von Teller " 
              + teller1.getName() 
              + " (" + teller1.getGroesse() + " cm): ");
    teller1.ausgabe();
    Out.print("Inhalt von Teller " 
              + teller2.getName() 
              + " (" + teller2.getGroesse() + " cm): ");
    teller2.ausgabe();
    Out.print("Inhalt von Teller " 
              + teller3.getName() // getName() soll "ohne Name" zurueckgeben
              + " (" + teller3.getGroesse() + " cm): ");
    teller3.ausgabe();
    Out.print("Inhalt von Teller " 
              + teller4.getName() // getName() soll "ohne Name" zurueckgeben
              + " (" + teller4.getGroesse() + " cm): ");
    teller4.ausgabe();

  }

}

Jetzt fehlen mir nur die Methoden getName und getGroesse. Ich weiß nicht, wie ich dort die Namen angeben muss, weil eigentlich wird sowohl die Grösse, als auch der Name in der Main-Methode deklariert? Bzw. ausgegeben.
Außerdem weiß ich nicht so ganz, wo ich Konstruktoren verwenden kann.
Ich bitte um hilfe :oops:
 

Heady86

Bekanntes Mitglied
Hi,

wenn du get Methoden nutzen willst, solltest du auch entsprechende set Methoden implementieren um deine Werte zu setzen. Dann brauchst du den Namen auch nicht in der main Methode direkt in der Objekterzeugung übergeben.

Also Beispiel mal für Susi:
Java:
String name;

void setName(String name) {
 this.name = name;
}

String getName() {
 return name;
}

public static void main(String[] args) {

 Weihnachtsteller teller1 = new Weihnachtsteller();
 teller1.setName("Susi");
}

Außerdem macht es keinen Sinn deinen getMethoden das Schlüsselwort void zuzuweisen, damit sagst du ja du willst nichts zurück. Du willst ja aber schließlich den Namen.
 

function

Bekanntes Mitglied
ok ich glaube da ist einiges schiefgelaufen, zu mindestens sind die variablennamen sehr ungünstig...
mit getName() willst du jetzt den "besitzer" des tellers ausgegeben bekommen oder?
und in dem String[] sollen die "nascherein" gespeichert werden oder?

zu getName():
setz in der klasse Weihnachtsteller eine variable String besitzer und nene die funktion um in getBesitzer()
Java:
String getBesitzer() {
  return besitzer;
}

bei getGroesse(): ist damit gemeint wieviele naschereien auf dem tellerplatz finden also quasi: 10cm = 10naschereien? oder passen immer 10 nascherein auf den teller egal wie groß er ist? ich nehme mal 2. an:
eine variable int groesse = 10; in die Klasse Weihnachtsteller:
Java:
int getGroesse() {
  return groesse;
}

zu den Konstruktoren für Weihnachtsteller:
Java:
// für aufruf ohne werte
Weihnachtsteller() {}

// für aufruf mit besitzer
Weihnachtsteller(String besitzer) {
  //Besitzer zuweisen
}

// für aufruf mit größe
Weihnachtsteller(int groesse) {
  //Größe zuweisen
}

// für aufruf mit name und größe
Weihnachtsteller(String besitzer, int groesse) {
  // beides zuweisen
}

so kleine anmerkung ich sehe keinen grund warum n static final sein soll...
 

ersti[09]

Mitglied
Aaalso,
es passen immer 10 Nascherein auf einen Teller, deswegen final int N = 10;

Zu den Größen:
Susi und Teller3 haben eine Größe von 20cm
Paul hat einen Teller von 25 cm
und Teller 4 10 cm

Dies soll halt in der Methode berücksichtigt werden.

Und bei getName soll mir der Name Susi oder Paul ausgegebn werden, oder halt kein Namen, wenn das nicht zutrifft. (Die Variablennamen wurden mehr oder weniger vorgegeben, daher kann ich da leider nichts für :( )

Aber ich kann ja nicht gleich sagen, return Besitzer, ich muss doch erstmal sagen, wann welcher Besitzer ausgegeben werden soll?
 

function

Bekanntes Mitglied
doch kannst direkt sagen return besitzer, weil du ja immer neue Weihnachtsteller erstellst und jeder Teller 0 oder 1 besitzer hat...
String name bzw String besitzer = ""; als standard wert, so hat jeder teller egal, ob du beim erstellen des objektes einen besitzer angibst oder nicht auf jedenfall einen besitzer.
In der main methode mit
teller1.getName(); bekommst du dann den besitzer von teller1.
teller2 anderes objekt anderer besitzer.
 

ersti[09]

Mitglied
Achso, der holt sich das alles durch die Konstruktoren?
Dann nochmal eine Frage, wo schreibt man Konstruktoren hin? vor die Methoden? oder kann man die auch in die Main schreiben? oder sogar außerhalb der Klasse?
 

function

Bekanntes Mitglied
oho, hast du dich überhaupt schonmal mit OOP beschäftigt?
die konstruktoren gehören in die klasse von der das objekt erstellt werden soll, bei dir in die klasse weihnachtsteller. und erholt es sich nicht wirklich durch die konstruktoren, sondern durch die "objekte" die mit den konstruktoren erstellt werden.
 

Michael...

Top Contributor
ersti[09];593716 hat gesagt.:
wo schreibt man Konstruktoren hin? vor die Methoden? oder kann man die auch in die Main schreiben? oder sogar außerhalb der Klasse?
Auf jeden Fall in die Klasse (ausserhalb geht garnicht) und normaler Weise - da übersichtlicher - vor die Methoden (wobei die Reihefolge egal ist)
 

ersti[09]

Mitglied
Ist das denn dann so richtig?

Java:
 Weihnachtsteller(String name) {
  	  String[] Susi = new String();
  	  String[] Paul = new String();
  	  String[] ohne Name = new String();
  }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
lougoldi Verkettung von Methoden und Konstruktoren Java Basics - Anfänger-Themen 4
C Die Klasse Menge mit Konstruktoren und einfachen Methoden Java Basics - Anfänger-Themen 5
Q Konstruktoren und Methoden Java Basics - Anfänger-Themen 2
D Blöde(?) Frage zu Konstruktoren und set-Methoden Java Basics - Anfänger-Themen 3
O Vor-/Nachteile/Unterschiede von Konstruktoren und Methoden Java Basics - Anfänger-Themen 3
Z übergabe von string[] an konstruktoren oder methoden Java Basics - Anfänger-Themen 3
N Verschiedene Konstruktoren mit gleichen Datentypen Java Basics - Anfänger-Themen 8
C Konstruktoren und Variablen Java Basics - Anfänger-Themen 42
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
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
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 OOP individual + standard-Konstruktoren Java Basics - Anfänger-Themen 9
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
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
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
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
emreiu Methoden Rekursive Methoden Runter- & Hochzählen Java Basics - Anfänger-Themen 2
U Funktionale Interfaces mit mehreren abstrakten Methoden? Java Basics - Anfänger-Themen 8
MoxMorris Einige Methoden aus verschiedenen Klassen nacheinander auszuführen läuft seltsam Java Basics - Anfänger-Themen 2
J Argumente in Methoden übergeben Java Basics - Anfänger-Themen 1
XWing Methoden rückgabe Problem? Java Basics - Anfänger-Themen 6
Say Class scope und Instance scope und Getter nur selbstgeschrieben Methoden Java Basics - Anfänger-Themen 11
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
N Klassen Methoden anderer Klassen aufrufen Java Basics - Anfänger-Themen 4
Renjiroo Java Bmi Rechner mit Methoden Java Basics - Anfänger-Themen 4
frager2345 Thread - Methoden synchronized deklarieren Java Basics - Anfänger-Themen 10
M Designentscheidung von Attributen/Methoden im Falle von Vererbung Java Basics - Anfänger-Themen 8
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
Alen123 Erstes Arbeiten mit Methoden. Java Basics - Anfänger-Themen 5
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
M Andere Methoden in anderen Klassen aufrufen Java Basics - Anfänger-Themen 11
L Methoden in anderen Klassen nutzen Java Basics - Anfänger-Themen 6
D Gerade oder ungerade Zahl mittels Methoden Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben