Schulaufgabe Klasse "Auto" erstellen mit Get- und Set-Teilen = Hilfe

Zyler

Grünschnabel
Hallo Community,

wir haben als Hausaufgabe folgende Aufgabe bekommen:

Erstellen Sie für die Folgende Klasse "Auto" eine konkrete Implementierung in Visual Basic.NET. Wählen Sie für die Eigenschaften sinnvolle Datentypen aus. Erstellen Sie für jede Eigenschaft(Membervariable) eine öffentliche Property mit Get- und Set-Teilen.
Erstellen Sie zusätzlich einen Konstrucktor(New(...)), welcher die Eigenschaften auf Sinnvolle Anfangswerte setzt. Erstellen Sie für die Methoden jeweils nur einen leeren Anweisungsblock!

Klasse: Auto
Eigenschaften: AnzahlDerRäder, Hubraum, Farbe
Methoden: Fahren, Hupen

Ich bin bis jetzt soweit gekommen:

Code:
Class Auto
	Private AnzahlDerRäder As Byte
	Private Hubraum, Farbe As String
	
		Public Sub New()
			AnzahlDerRäder = "4"
			Hubraum = "1000ccm"
			Farbe = "Silber-Metalic"
		End Sub
		
		Public Shared Sub GetHubraum()
			
		End Sub
		
		Public Sub Fahren()
			'Methode wird noch erstellt
		End Sub
		
		Public Sub Hupen()
			'Methode wird noch erstellt
		End Sub
End Class

Ich versteh aber einfach net wie und was diese Get- und Set-Teile sein sollen, geschweige den wie ich sie Benutze oder Einbaue.
Darum bin ich auf eure Hilfe angewiesen!

Mit freundlichen Grüßen

Zyler
 
Hallo Zyler,
da die Eigenschaften AnzahlDerRäder, Hubraum, Farbe alle als Privat deklariert wurde, kannst du nur innerhalb der Klasse auf sie zugreifen.
D.h. wenn du jetzt von außerhalb der Klasse versucht auf diese Eigenschaften zuzugreifen geht das nicht.
Damit dies funktioniert erstellst du eine Get und eine Set Methode.
Bei der Get Methode gibt er den Wert an den Aufrufer ( der warscheinlich außerhalb der Klasse liegt zurück.
Beispiel:

Code:
Public Function GetHubraum()
			Return Hubraum
End Sub
Hierbei ist wichtig, das es eine Funktion ist, da sie ja einen wert zurückliefern soll (return).

Die Set-Methode soll diesen Wert setzten, dafür brauchst du aber einen Parameter auf den du dann den Wert setzt.
Beispiel:
Code:
Public Sub SetHubraum(ByRef p_Hubraum as String)
Hubraum = p_Hubraum
End Sub


Ich hoffe ich konnte die weiterhelfen, zur Not frag einfach nochmal nach.
 
Naja. Die Lösung ist zwar richtig, der Angabe entnehme ich allerdings, dass der Zugriff mit Hilfe von Properties gelöst werden soll. Diese sind in .NET neue eingeführt worden (gibt's also zB in C++ nicht).

Wenn du in der Vorlesung aufgepasst hast bzw. ein Skriptum hast, dann brauchst du keine Hilfe um das umsetzen zu können. Ich kann dir auch leider keinen Code schreiben, da ich in VB.NET noch nie etwas programmiert habe. Immer nur in C#.
 
Da ich selbst noch nicht so lange mit VB.net Programmiere wollte ich jetzt mal fragen, ob mir jemand erklären kann was mit Properties gemein sind?
Achja und wa bewirkt das Shared?

Gruß LuckerKing alias MroccoT
 
Das sind "Attribute" denen ein "property" vor gestellt wird. Wenn man keine eigene Properties erstellt, werden die Standart Get() und Set() Methoden beim Setzen bzw. beim Lesen benutzt. Die Properties können/sollen Öffentlich deklariert werden und können von überall her aufgerufen werden,

Da die Property zu .NET gehören, ist es nicht mehr "reines" C++ sonder C++/CLI im dem das geht.

C++:
property String^ txt; //das ist eine Property der Varialbe String

/*Wenn du jetzt keine eigene get()- und set()- Methoden brauchts dann kannst du die
einfach so schon verwenden da die automatisch das machen was MRoccoT im 
Beispiel geschrieben hast. Wenn du aber andere Ausgaben etc. damit machen 
willst musst du eigene Properties vereinbaren. 
 
ACHTUNG: Wenn du nur eine eigene Get()-Methode programmiert hast dann funktioniert die set() nicht, dann musst du die set() noch selber programmieren.*/
 

Neue Beiträge

Zurück