CyberPress.Sopron

(http://www.cyberpress.hu/)

Rovat: Dr. Bit

2001. április 11., szerda 16:40


Programozzunk Együtt!

Objektum Orientált Programozás I.

Objektum Orientált Programozás I.

 

Az objektum orientált programozás lényege, hogy vannak bizonyos 
dolgok (objektumok) amelyeknek tulajdonságaik vannak. Ez a lehetőség főleg
akkor kap fontos szerepet, amikor egy-egy programon több programozó együtt 
dolgozik, mindegyikük egy-egy programrészt ír meg. Az objektumok tartalmazhatnak
változókat és tagfüggvényeket. Mindezek elérését külön-külön lehet szabályozni.
Az objektumok számára lefoglalt memóriaterületet dinamikusan lehet kezelni.
Fontos megemlíteni, hogy az objektum orientáltság csak C++ programnyelvben
használhat, annak ellenére, hogy C-ben is van néhány hasonló lehetőség
(struct, malloc, namespace stb. ...)
Most pedig nézd meg a következő forráskódot, a megjegyzések segíteni fognak a 
megértésben:
// OOP_PL_1.CPP - Egyszeru pelda az OOP bemutatasara 
#include
#include
class tpelda			// Pelda osztaly - OBJEKTUM!!
	{
	public:
	tpelda(); 		// Konstruktor
	~tpelda();		// Destruktor
	int szam;		// Egy 'int' tipusu valtozo
	void peldafgv(void);	// Egy 'void' tipusu fuggveny
	};
tpelda::tpelda()		// tpelda konstruktora
	{
	cout<<"nnnA konstruktor fuggveny vegrehajtasa...n";
	cout<<"A szam valtozo beallitasa...n";
	szam=100;
	}
void tpelda::peldafgv(void)	// tpelda tagfuggvegye
	{
	cout<<"Ez itt a peldafuggvenyn";
	cout<<"A 'szam' valtozo kiirasa: "<
tpelda::~tpelda()		//  tpelda destruktora
	{
	cout<<"A destruktor fuggveny vegrehajtasa...n";
	}

void main(void)
{
tpelda *pelda;  		// Letrehozunk egy mutatot 'pelda' nevvel
if (!(pelda = new tpelda))	// A 'pelda' mutato segitsegevel megprobalunk
	{			// memoriat foglalni az osztaly reszere...
	cerr << "Nem sikerult lefoglalani memoriat!!";
	exit (1);		// Ha nem sikerul, akkor kilepunk...
	}
// Sikeres memoriafoglalas eseten a konstruktor automatikusan meghivodik!
cout << "A szam valtozo kiolvasasa az osztalyon kivulrol: " << pelda->szam << endl;
cout << "Az osztaly egy fuggvenyenek meghivasa: n";
pelda->peldafgv();




delete pelda;			// Toroljuk 'pelda'-t.
				// A destruktor fuggveny automatikusan
				// meghivodik
}
// Program vege
Mostanra ennyi, a részletes magyarázatot lásd a következő cikkben!