class-based programming (tsz. class-based programmings)
Egy absztrakt tervrajz, amely meghatározza, milyen adattagokkal és viselkedésekkel rendelkeznek az adott típusú objektumok.
Egy adott osztály konkrét példánya, amely saját adatokkal és viselkedéssel rendelkezik.
Az osztályhoz tartozó adatok (pl. név, kor, súly).
Az osztályhoz tartozó függvények, amelyek az objektumon végeznek műveleteket.
#include <iostream>
using namespace std;
class Ember {
private:
string nev;
int kor;
public:
Ember(string n, int k) : nev(n), kor(k) {}
void kiir() {
cout << "Nev: " << nev << ", Kor: " << kor << endl;
}
};
int main() {
Ember e1("Anna", 25);
e1.kiir(); // Nev: Anna, Kor: 25
return 0;
}
Fogalom | Leírás |
---|---|
Encapsulation (adatrejtés) | Az adatok és metódusok egybe csomagolása |
Inheritance (öröklés) | Egy osztály átörökli egy másik tulajdonságait |
Polymorphism (polimorfizmus) | Ugyanaz a művelet többféleképp hajtható végre különböző objektumokon |
Abstraction (absztrakció) | A részletek elrejtése, csak a lényeges viselkedés kiemelése |
class Allat {
public:
virtual void hang() {
cout << "Ismeretlen hang" << endl;
}
};
class Kutya : public Allat {
public:
void hang() override {
cout << "Vau!" << endl;
}
};
int main() {
Allat* a = new Kutya();
a->hang(); // Vau!
}
Nyelv | Támogatás |
---|---|
C++ | Teljes, statikus osztályrendszer |
Java | Teljes, minden objektum egy osztályból származik |
Python | Class-alapú, de dinamikusan kezelt |
C# | Teljes körű OOP |
Ruby | Class- és object-based kombinációja |
A class-based programming olyan objektumorientált megközelítés, ahol a program struktúráját osztályok és azok példányai alkotják. Ez elősegíti a modularitást, újrafelhasználhatóságot és skálázhatóságot, különösen nagy szoftverrendszerek esetén.