Methoden public oder private formulieren?
Hallo 😊
Ich habe morgen meine mündliche Abiturprüfung in Informatik und bin gerade über eine Sache gestoßen die mir noch nicht so ganz klar ist. In der Objektorientierten Programmierung gibt es ja das Prinzip der Kapselung, also das Einschränken des Lesen und Ändern von Daten. Kann mir jemand erklären wann man Methoden public oder private formuliert? Bzw. mir ein Beispiel geben?
Danke im Vorraus!
1 Antwort
Alle Methoden, die der internen Funktionalität dienen (Helfermethoden), sollten private / protected sein. Alle Methoden, die von außen aufrufbar sein sollen, wären demzufolge public.
Ein einfaches Beispiel:
class DatabaseManager {
// some fields ...
public void insert(String query) {
connect();
// insert ...
disconnect();
}
private void connect() {
// connect to database ...
}
private void disconnect() {
// disconnect from database ...
}
}
Diese Klasse soll das Einfügen von Daten in eine Datenbank übernehmen. Der Aufrufer soll sich um interne Funktionalitäten wie das Verbinden nicht kümmern müssen. Das übernehmen Helfermethoden, die intern in der Klasse eingesetzt werden. Insofern braucht einem Aufrufer auch nur die insert-Methode (als öffentliche Schnittstelle) bekannt sein.
Wenn Subtypen das Verhalten einer Helfermethode umschreiben können sollen, wäre der protected modifier passender.