Es kann vorkommen, dass eine Klasse einige private Methoden hat. Sie sind manchmal notwendig, so dass niemand sie außerhalb der Klasse benutzen wird.Sollte Klassenziel nur öffentliche Methoden haben?
Ist es jedoch ein korrektes Prinzip, um eine externe Klasse für diese privaten Methoden zu erstellen und sie in dieser neuen Klasse öffentlich zu machen?
Ich habe gehört, dass wenn es private Methoden in der Klasse gibt, sollten sie in eine neue Klasse verschoben werden?
'Ich habe gehört, dass wenn es private Methoden in der Klasse gibt, sollten sie in eine neue Klasse verschoben werden?' Wo hast du das gelesen? Sie sollten Methoden abstrahieren und/oder auf eine neue Klasse verschieben, wenn es sich um gängige Methoden handelt, die von anderen Klassen benötigt werden, um ein mehrfaches Umschreiben desselben Codes zu vermeiden. Private Methoden sollten nicht in eine neue Klasse verschoben werden, sie sind privat, weil eine bestimmte Klasse sie benötigt und sie sollten nicht für andere Klassen verfügbar sein. Daher sollten sie in der Klasse, die sie benötigt, privat bleiben. – BackSlash
Das allgemeine OOP-Ziel besteht darin, möglichst wenige öffentliche Methoden zu verwenden. Je weniger Methoden, desto einfacher ist es zu refaktorieren und zu pflegen. Das Erstellen von privaten Methoden ist (in Java sowieso) kein Problem und sie sind sehr nützlich, um sicherzustellen, dass eine Methode so viel Kohäsion wie möglich hat. Das Erstellen einer Klasse mit öffentlichen Methoden, die nur eine andere Klasse bedienen, führt zu einer sehr engen Kopplung. – KevinO
Wo hast du das gehört? Sie können auch private Methoden in der Klasse verwenden, in der sich die öffentlichen Methoden befinden. –