Methoden public oder private formulieren?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

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.