Fernseher-Aufgabe (Methoden, Klassen und Objekte)

Diskutiere Fernseher-Aufgabe (Methoden, Klassen und Objekte) im Java Basics - Anfänger-Themen Bereich.
mrBrown

mrBrown

soll ich einen default Konstruktor ohne Parameter nehmen? Weil void init steht. Oder 2 Konstruktoren (1.ten für Lautstärke & 2.ten für das Programm)?
Weißt du, was ein Konstruktor macht?

Haben hier zwei verschiedene Konstruktoren Sinn, wenn man zwei unabhängige Variablen hat?
Ist es sinnvoll, eine Initiale Lautstärke übergeben zu können?

Übrigens wenn ich deine Fernseher-Version nehme, bekomme ich keine gescheite Ausgabe in der Konsole: Lautstärke = 0, Programm = 0

so habe ich deinen Quellcode bearbeitet:
Hast du die den Code auch angeguckt und gemerkt, dass alle Methoden leer sind?
 
T

temi

Oder 2 Konstruktoren (1.ten für Lautstärke & 2.ten für das Programm)?
Weißt du, was ein Konstruktor macht?
Haben hier zwei verschiedene Konstruktoren Sinn, wenn man zwei unabhängige Variablen hat?
Ist es sinnvoll, eine Initiale Lautstärke übergeben zu können?
Und ergänzend noch: Hättest du deine zwei Konstruktoren, wäre es dann möglich für die Erzeugung einer Instanz der Klasse, zwei Konstruktoren aufzurufen?

Zur Klarstellung: Klassen können natürlich mehrere Konstruktoren haben und es gibt viele Klassen in der Java-Klassenbibliothek, bei denen das der Fall ist. Das ist aber aktuell nicht das Thema. Falls dich interessiert, wofür das gut sein kann, dann kann man das später gerne ausführen. Jetzt reicht es aus, zu wissen, dass das geht.
 
J

JustNobody

@mihe7 hat die Frage ja schon mal gestellt: Lernst du Java privat, in der Schule, Ausbildung, Studium?
LALALALALALA *Ohren zuhalt*

Willst Du diese Frage wirklich beantwortet haben? Ist es nicht viel einfacher, sich vorzustellen, wie da ein kleiner Junger alleine einsam vor dem Rechner sitzt und sich das selbst beibringt? Ohne Möglichkeit, sich ein Buch zu kaufen. Internet ist nur wenige Minuten am Tag erlaubt (Böse Mami - vor allem die Drohung bei Überschreitung der Zeit "das Internet zu löschen"! Diese roten Knöpfe von Mamis sind hart - denk mal über die Konsequenzen nach!), so dass online Recherche nicht geht und wir die einzige Chance sind? Noch können wir uns die Welt schön machen! Willst Du das zerstören?

*SCNR*
 
C

Codix

Weißt du, was ein Konstruktor macht?

Haben hier zwei verschiedene Konstruktoren Sinn, wenn man zwei unabhängige Variablen hat?
doch ja, die machen schon Sinn (Anfängermeinung)
Ist es sinnvoll, eine Initiale Lautstärke übergeben zu können?
Jaein


Hast du die den Code auch angeguckt und gemerkt, dass alle Methoden leer sind?
ich habe auch return eingefügt.
 
C

Codix

Vermutlich erste Programmiersprache. Hoffentlich mit einem sinnvollen Buch? Aber egal, es fehlen dir echt viele Grundlagen. Das ist nicht schlimm, denn man kann das alles lernen und Einsicht ist der erste Weg zur Besserung ;)
Java von Kopf bis Fuss als Buch, Udemy Kurs in Deutsch und 1 Kurs in Englisch, dann noch Online-Unterlagen. Was denkst du: welche Grundlagen fehlen denn? Habe auch schon Front-End Languages erlernt (JavaScript, HTML, CSS). Ein wenig Pythonluft geschnuppert.
 
C

Codix

Zum Beispiel hast du anscheinend keine Ahnung, was ein Konstruktor macht.
ein Konstruktor erstellt ein Objekt. Es gibt Default-Konstruktoren(leer) und man kann eigene Konstruktoren coden (mit Werten). Wenn man keine KOnstruktoren anlegt, dann legt java automatisch einen default-Konstruktor an.

Soll wohl nicht schlecht sein. Evtl. ist es sinnvoll erst das eine und dann die anderen Kurse zu bearbeiten. Ich kann mir nicht vorstellen, dass sich die didaktischen Vorgehensweisen gut mischen lassen.
 
T

temi

Ein Konstruktor erstellt ein Objekt. Es gibt Default-Konstruktoren(leer) und man kann eigene Konstruktoren coden (mit Werten). Wenn man keine KOnstruktoren anlegt, dann legt java automatisch einen default-Konstruktor an.
Haben hier zwei verschiedene Konstruktoren Sinn, wenn man zwei unabhängige Variablen hat?
Ist es sinnvoll, eine Initiale Lautstärke übergeben zu können?
Hättest du deine zwei Konstruktoren, wäre es dann möglich für die Erzeugung einer Instanz der Klasse, zwei Konstruktoren aufzurufen?
Na dann überleg dir doch mal, was bei der Erzeugung deines Fernseher-Objekts initialisiert werden könnte/müsste. Die Klasse Fernseher ist sozusagen der Bauplan und mit dem Konstruktor wird ein Fernseher produziert.

Das erste was klar ist, das Ding ist noch ausgeschaltet.

Du kaufst es und schaltest es ein. Was wird i.d.R. für ein Programm angezeigt?

Welche Lautstärke hat das Ding, wenn du es zum ersten Mal einschaltest?

Wie sieht dann dein Konstruktor aus?
 
C

Codix

Na dann überleg dir doch mal, was bei der Erzeugung deines Fernseher-Objekts initialisiert werden könnte/müsste. Die Klasse Fernseher ist sozusagen der Bauplan und mit dem Konstruktor wird ein Fernseher produziert.

Das erste was klar ist, das Ding ist noch ausgeschaltet.

Du kaufst es und schaltest es ein. Was wird i.d.R. für ein Programm angezeigt?

Welche Lautstärke hat das Ding, wenn du es zum ersten Mal einschaltest?
keine Ahnung: vllt Programm 1, Lautstärke 30 ?

[QUOTEQUOTE="temi, post: 1230834, member: 56216"]Wie sieht dann dein Konstruktor aus?[/QUOTE] k.A.
 
Zuletzt bearbeitet von einem Moderator:
J

JustNobody

Wenn du einen neuen Fernseher bekommst: gibst du dann an, ob dieser an oder aus ist? Oder ein Programm? Oder eine Lautstärke?
 
C

Codix

nein, ich gebe nicht an, ob er an oder aus, etc. ist. Deswegen kann ja der Konstruktor default sein oder wir können einen anlegen ohne Parameter.
 
Zuletzt bearbeitet von einem Moderator:
J

JustNobody

Ja genau, ich denke, den Punkt hast du verstanden. Und Werte kannst du so wählen, wie es in Deinen Augen Sinn macht.
 
mihe7

mihe7

Java:
public class TV {
    private int volume = 30;
    private boolean switchedOn;
}
In der Klasse ist kein Konstruktor definiert, daher spendiert Java der Klasse einen Standardkonstruktor. Wenn Du mit new TV() ein neues TV-Objekt erzeugst, werden das volume-Attribut auf 30 und das switchedOn-Attribut auf false gesetzt.

Den gleichen Effekt erreichst Du durch Implementierung des Standardkonstruktors:
Java:
public class TV {
    private int volume;
    private boolean switchedOn;

    public TV() {
        volume = 30;
    }
}
Den würdest Du benötigen, falls Du einen weiteren Konstruktor anbieten möchtest, der z. B. die Lautstärke entgegennimmt, die beim "Bauen des Fernsehers" eingestellt werden soll:

Java:
public class TV {
    private int volume;
    private boolean switchedOn;

    public TV() {
        volume = 30;
    }

    public TV(int volume) {
        this.volume = volume;
    }
}
Ist jetzt nicht so schwer, oder?
 
Thema: 

Fernseher-Aufgabe (Methoden, Klassen und Objekte)

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben