Twitter und Facebook-Anbindung
X
Tweet Follow @twitterapi
!!! Anbindung an twitter und facebook öffnen !!!

Wenn Ihnen mein Online-Buch gefällt,
dann bedanken Sie sich doch mit einer kleinen Spende...

17.2 Getter und Setter

17.2 Getter und Setter

Da man also Attribute üblicherweise privat macht, braucht man gelegentlich trotzdem Möglichkeiten, diese von Außen zu modifizieren. Dafür implementiert man s.g. Get - und Set-Methoden, wobei Set-Methoden jene sind, welche neue Werte setzen und die anderen um die internen Werte abzurufen.

Für die Beispielklasse von vorhin, wäre es also besser gewesen, "m_iZahl1" und "m_iZahl2" privat zu machen und entsprechende Getter und Setter zu schreiben. Für das kleine Testprojekt macht dies nicht viel Sinn, zumal es ein viel höherer Aufwand ist, aber trotzdem werde ich Ihnen dies mal zeigen. Deswegen überarbeite ich die Header-Datei und das Ergebnis sieht dann wie folgt aus.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
					
class CTestKlasse {
	public:
		// Konstruktor
		CTestKlasse(int iValue1, int iValue2);
		// Destruktor
		~CTestKlasse(void);

		// Gibt interne Werte aus
		void	Ausgabe(void);

		int	GetZahl1(void);
		void	SetZahl1(int iValue);
		int	GetZahl2(void);
		void	SetZahl2(int iValue);

	private:
		// Speichert eine Zahl
		int m_iZahl1;
		// Speichert eine andere Zahl
		int m_iZahl2;
};
					

Wie Sie klar sehen, sind die Attribute jetzt in den privaten Bereich verlagert worden und im öffentlichen Bereich, sind jetzt vier neue Methoden hinzugekommen.

Nun fehlen noch die Implementierungen in der CPP und deshalb hier kurz der Quelltext, welcher ergänzt wird.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
					
// Gibt den Wert von Zahl1 zurück /////////////////////////////////////////////
int CTestKlasse::GetZahl1(void) {
	return this->m_iZahl1;
} // GetZahl1 /////////////////////////////////////////////////////////////////


// Ändert den Wert von Zahl1 //////////////////////////////////////////////////
void CTestKlasse::SetZahl1(int iValue) {
	this->m_iZahl1 = iValue;
} // SetZahl1 /////////////////////////////////////////////////////////////////



// Gibt den Wert von Zahl2 zurück /////////////////////////////////////////////
int CTestKlasse::GetZahl2(void) {
	return this->m_iZahl2;
} // GetZahl2 /////////////////////////////////////////////////////////////////


// Ändert den Wert von Zahl2 //////////////////////////////////////////////////
void CTestKlasse::SetZahl2(int iValue) {
	this->m_iZahl2 = iValue;
} // SetZahl2 /////////////////////////////////////////////////////////////////
					
Zum Seitenanfang
Zum Inhaltsverzeichnis

© Copyright by Thomas Weiß, 2009 - 2012