OOP Aufgabe zu einer Beispielklasse

M

Manu12593

Gast
hey leute ich bin leider noch ziemlich mies in java und muss folgende Aufgabenstellung lösen:

"Entwerfen Sie eine Beispielklasse, die mindestens zwei nicht-statische Attribute, ein
statisches Attribut und eine beliebige Methode enthält. Die Klasse soll dabei an ein
real existierendes Konzept angelehnt sein [...]. Stellen Sie sicher, dass das statische Attribut tatsächlich ein Attribut darstellt, das in Ihrem Beispiel nur einmal global für die gesamte Klasse gespeichert werden muss. Implementieren Sie die Klasse. Der Methodenrumpf darf leer sein."

Folgenden code hab ich bereits mit viel Mühe hinbekommen:

Code:
public class Computer
{
	
	public static void main(String[] args)
	{
	}
		
	// statisches Attribut
	private String hersteller;
	
	// nicht-statische Attribute
	private String graka;
	private String ram;
	
	// Konstruktor
	public Computer(String hersteller, String graka, String ram)
	{
		this.hersteller = hersteller;
		this.graka = graka;
		this.ram = ram;
	}
	
	// Beispielobjekt erzeugen
	Computer c1 = new Computer("", "nvidia", "512 mb");

	// Methode
	public void sethersteller()
	{
	}
	
}

Nur hab ich noch einige Fragen:
1) wie bekomm ich am ende die setter methode richtig hin?
2) hab ich mit den statischen und nicht statischen attributen alles eingehalten?
3) ist es normal dass ich die main methode sozusagen hier nur fürs ausführen vom programm dann gebrauchen kann, oder hab ich da etwas falsch gemacht?
4) sonstige anmerkungen? :p

Danke schonmal im Vorraus :)
 

Cola_Colin

Top Contributor
1.) Indem du eben setter schreibst ? Die sind immer so aufgebaut:
Java:
private int attribute;

public void setAttribute(int value) {
  attribute = value;
}

public int getAttribute() {
	return attribute;
}

2.) Du solltest noch einmal nachdenken, ob hersteller wirklich so geeignet ist als statisches Feld. Ein statisches Feld hat ja für alle Computer den gleichen Wert. Es gibt doch aber Computer von Appel, von Dell, etc

3.) Die main ist nur der Startpunkt des Programms. Da werden für gewöhnlich nur ein paar Objekte erzeugt oder wenige Methoden aufgerufen. Groß sein, sollte sie nicht.

4.) Computer c1 ist auch ein Feld der Klasse Computer, gehört da meiner Ansicht nach nicht hin.
 

Marco13

Top Contributor
Du solltest noch einmal nachdenken, ob hersteller wirklich so geeignet ist als statisches Feld. Ein statisches Feld hat ja für alle Computer den gleichen Wert. Es gibt doch aber Computer von Appel, von Dell, etc

Nenn' die Klasse "Pad", dann kann der Hersteller static sein, das hat er inzwischen gerichtlich durchgesetzt :joke:


Das Erstellen des Computers gehört, wie Cola_Colin schon sagte, nicht dort hin. DAS wäre was, was in die main passen würde.
 

Oben