Guida programmazione orientata agli oggetti » Torna alla lezione

Esempio di incapsulamento [C++]


//*********************************
// file cubo.h
//*********************************
class Cubo
{
	// Dichiarazione delle proprietà: si noti che sono definite tutte private.
	private:
		int lunghezza;
		int larghezza;
		int altezza;
	// Dichiarazione dei metodi Mutator e Accessor
	public:
		void setLunghezza(int lun);
		void setLarghezza(int lar);
		void setAltezza(int alt);
		int getLunghezza();
		int getLarghezza();
		int getAltezza();
		void visualizzaVolume();
};

//*********************************
// file cubo.cpp
//*********************************
#include <iostream>
#include "cubo.h"
// Implementazione dei Metodi "Mutator" e "Accessor"
void Cubo::setLunghezza(int lun)
{
	lunghezza = lun;
}
void Cubo::setLarghezza(int lar)
{
	larghezza = lar;
}
void Cubo::setAltezza(int alt)
{
	altezza = alt;
}
int Cubo::getLunghezza()
{
	return lunghezza;
}
int Cubo::getLarghezza()
{
	return larghezza;
}
int Cubo::getAltezza()
{
	return altezza;
}

// Metodo pubblico che visualizza il volume del cubo, usando le proprietà
// interne della classe
void Cubo::visualizzaVolume()
{
	int vol = lunghezza * larghezza * altezza;
	cout << "Volume del cubo: " << vol <<endl;
}