Was sind Klassen in der Objektorientierte Pogrammierung
Ist eine Benutzerdefinierte Datenstruktur:
Option -> erste Zeile einer Funktion
void fahren(); // 👉 Das ist die Operation
};
Methoden Umsetzung einer Funktionen
Beispiel void Auto::fahren(){
cout << "Das Auto fährt los!";}
Objekt -> wird in der Main Funktion erstellt um mit der Klasse zu arbeiten
int main() {
Auto meinAuto; // 👉 Das ist das Objekt!
meinAuto.starten(); // 👉 Objekt benutzt eine Methode der Klasse
}
Variablen
Schnittstellen -> funktion die kein inhalt haben
void name(){
Public -> Öffentlich zugänglich ist
Privat -> ist bechränkt
Was ist public in class
Funktion in class
Daten kann man schützen und nicht zuänglich machen oder wie hier
frei zugänglich machen
Zugriff von Überall erlaubt
Kann in main () oder außerhalb der Klasse benutzt werden
Was ist private in class
Diese Variable oder Methode ist nur innerhalb der Klasse sichtbar.
Mann kann sie nicht direkt im main() benutzen
Zugriff auf private Variablen über eine void-Funktion
erstellt man zusätzlich eine öffentliche void-Funktion
die den privaten Wert intern nutzt, ausgibt oder verarbeitet.
Beispiel:
#include <iostream>
using namespace std;
class Auto {
private:
int geheimcode = 1234; // ❌ nicht direkt zugreifbar
public:
void zeigeCode() {
cout << "Geheimcode ist: " << geheimcode << endl;
Auto meinAuto;
meinAuto.zeigeCode(); // ✅ Zugriff auf private Variable über public-Funktion
return 0;
Was ist Datenkapselung?
Die Daten (Variablen) eines Objekts sind von außen geschützt.
Du kannst nicht direkt auf sie zugreifen, sondern nur über Methoden (Funktionen).
In Objekt (OPP)
Daten sind privat (private)
Zugriff nur über Methoden (Funktionen) möglich
Sicherer und strukturierter, weil du kontrollieren kannst, wer was tun darf
In prozeduale Programmierung
Hier kann man alle Variablen direkt verändern
Keine Kapselung, alles ist offen
Das ist weniger sicher und weniger kontrolliert
Warum ist Datenkapselung sind so wichtig?
Mehrfachbenutzung von Klassen
Funktionen Bündeln
Public / Private
Mehr Sicherheit
Besseres Fehlermanagement
Übersichtlicher
Nachteil der prozeduralen Programmierung?
Es muss kontrolliert werden, welche Routinen mit welchen Daten arbeiten
Daten und Routinen sind voneinander getrennt
Direkter Datenzugriff ist möglich (geringere Sicherheit)
Was sind die Vorteile der objektorientierten Programmierung?
Daten und Routinen werden in Objekten zusammengeführt.
Zugriff auf Daten nur über Objekte → Daten sind eingekapselt.
Einfachere und effizientere Programmierung.
Bessere Wiederverwendbarkeit von Code.
Bessere Strukturierung von Programmen.
Natürlicher modellierbar (z. B. Objekte wie Auto, Mensch, Konto).
Was ist ein Konstruktor
Ein Konstruktor ist eine spezielle Methode in einer Klasse,
die automatisch ausgeführt wird, wenn ein Objekt erstellt wird.
Zweck.
Initialisiert Werte
Bereitet das Objekt „startklar“ vor
Destruktor
Wird automatisch beim Zerstören eines Objekts ausgeführt.
Dient zum Aufräumen (z. B. Speicher freigeben).
Beginnt mit ~ und hat keinen Rückgabewert.
Zuletzt geändertvor 2 Tagen