Kapselung von Enums?

Status
Nicht offen für weitere Antworten.

neurox

Aktives Mitglied
Hallo allerseits,

ich habe eine Verständnisproblem bei den enums.

Bisher habe ich dort, wo man eigentlich enums einsetzen sollte mir Integer-Werten gerarbeitet. Jetzt möchte ich es mal mit enums versuchen und stehe wie ein Ochs' vorm' Berg.

Folgendes Problem:

Ich möchte in einem Interface getter- und setter-Methode für den Status eines Objektes zuschreiben. Es gibt vier verschiedene Zustände (PENDING, ACTIVE, SUSPENDED, DONE). Naiv, wie ich bin, habe ich diese in einem enum-Objekt definiert:

Java:
public interface FaxCampaign {
	public enum Status {PENDING, ACTIVE, SUSPENDED, DONE};
	
	public int getStatus();
	public void setStatus(int status);
}

1. Ist das überhaupt richtig so?
2. Wie Implementiere ich die Methoden überhaupt? Eine Variable vom Typ Status oder enum kann ich in der implementierenden Klassen wohl schlecht an legen, oder?

Damit ihr wisst, was ich überhaupt vor habe, so habe ich das bisher gelöst:

Java:
public interface FaxCampaign {
	public static final int PENDING = 1;
	public static final int ACTIVE = 2;
	public static final int SUSPENDED = 3;
	public static final int DONE = 4;
	
	public int getStatus();
	public void setStatus(int status);
}

... und dann wie folgt implementiert:

Java:
public class FaxCampaignImpl implements FaxCampaign {
	private int status;

	public int getStatus() {
		return status;
	}
	public void setStatus(int status) {
		this.status = status;
	}
	
}

Es wäre nett, wenn mir mal jemand sagen könnte, was ich hier falsch verstanden habe.

Grüße
neurox
 

Der Müde Joe

Top Contributor
Du solltest nicht mehr mit int Arbeiten, wenn du eine Enum benutzt.

Wenn enum, dann so:
Java:
public interface Test {
	
	public enum Status { OK, BAD; }
	
	Status getStatus();
	void setStatus(Status status);
}

EDIT:
Eine enum kann auch wie ein Klasse in einem File liegen.

>2. Wie Implementiere ich die Methoden überhaupt?

Normal, wie alle anderen auch.

>Eine Variable vom Typ Status oder enum kann ich in der implementierenden Klassen wohl schlecht an legen, oder?

Normal, wie alle anderen Variablen auch. ;-)
 

Schandro

Top Contributor
Benutz einfach das enum in der Impl-Klasse:
Java:
class FaxCampaignImpl implements FaxCampaign {
    private Status status;
 
    public Status getStatus() {
        return status;
    }
    public void setStatus(Status status) {
        this.status = status;
    }
    
}

interface FaxCampaign {
    public enum Status {PENDING, ACTIVE, SUSPENDED, DONE};
    
    public Status getStatus();
    public void setStatus(Status status);
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Lion.King Kapselung Java Basics - Anfänger-Themen 5
K Unterschied Information Hiding und Kapselung? Java Basics - Anfänger-Themen 2
M Gettter/Setter Methoden Klassenfelder kapselung und zugriff? Java Basics - Anfänger-Themen 1
T Kapselung und Zugriffsmodifizierer Java Basics - Anfänger-Themen 9
LionAge Kapselung, Verständnisfrage zur Objekterzeugung Java Basics - Anfänger-Themen 4
M Objektmethoden und Kapselung Java Basics - Anfänger-Themen 4
J Kapselung - Dient dazu, um nur den Coder zu "schützen"? Java Basics - Anfänger-Themen 4
T Kapselung: public-Methoden in protected-Klassen Java Basics - Anfänger-Themen 3
H Sauberes GUIieren mit dem AWT | Frage zur Kapselung Java Basics - Anfänger-Themen 3
V Kapselung Java Basics - Anfänger-Themen 3
A Frage zu super, abstracte Klassen und Kapselung Java Basics - Anfänger-Themen 3
M Prinzip der Kapselung - Wie Aufruf der Methode? Java Basics - Anfänger-Themen 2
D oo -> kapselung Java Basics - Anfänger-Themen 15
P Enums in Array abspeichern Java Basics - Anfänger-Themen 4
M Vererbung mit Enums Java Basics - Anfänger-Themen 8
M Vererbung Enums vererben Java Basics - Anfänger-Themen 1
G Wie verwendet man Enums Java Basics - Anfänger-Themen 1
O prinzipielle Frage zu enums Java Basics - Anfänger-Themen 3
A Mit Enums in Methoden arbeiten Java Basics - Anfänger-Themen 8
L wie oft werden enums genutzt Java Basics - Anfänger-Themen 3
O Enums? Java Basics - Anfänger-Themen 11
A Enums Java Basics - Anfänger-Themen 3
M Enums, oder doch was anderes? Java Basics - Anfänger-Themen 7
P Vergleich von Enums Java Basics - Anfänger-Themen 4
D Sind Enums typsichere Konstanten? Java Basics - Anfänger-Themen 15
S Enums und ordinal Java Basics - Anfänger-Themen 3
P Enums - cannot be resolved Java Basics - Anfänger-Themen 2
H Generics mit Enums Java Basics - Anfänger-Themen 16
GilbertGrape Klärungsbedarf bei Enums Java Basics - Anfänger-Themen 8
S int mit Enums vergleichen Java Basics - Anfänger-Themen 5
F Überbegriff für Klassen, Interfaces, enums? Java Basics - Anfänger-Themen 2
M Switch wie gemacht für Enums - will aber nicht Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben