Manchmal spürte ich, dass eine Überladung der Methoden Verwirrung stiften könnte.
%Vor% %Vor%Eine Abhilfe hierfür ist.
%Vor%Es ist jedoch auch keine gute Idee, eine Methode mit einem anderen Namen zu verwenden, um dieselbe Funktionalität zu erreichen. Darf ich wissen, was Sie in Betracht ziehen, zwischen Methodenüberladung oder Methode mit anderer Benennung zu wählen?
Überladen sicher.
Okay, also ist es nicht "offensichtlich", welche Funktion aufgerufen wird (strittig) ... na und? Es ist dir egal, dass es verschiedene Arten von Parametern annehmen kann, es muss nur sein Ding tun. Wenn Sie auf der Grundlage unterschiedlicher Überladungen ein unterschiedliches Verhalten haben, haben Sie Überlastungen missbraucht und keinen Fehler in ihnen festgestellt.
Ein Beispiel für den Missbrauch von Überladungen:
%Vor%Hoffentlich siehst du das Problem hier. Wenn zwei Funktionen denselben Namen haben, sollten sie dasselbe tun.
Noch besser, wenn Sie nur versuchen, die Möglichkeit zu ermöglichen, auf verschiedenen Arten zu arbeiten, verwenden Sie einfach eine Vorlage. (Dies ist wohl eine Form der Überladung.)
Ich würde dies in einen Kommentar schreiben, aber ich kann es noch nicht. Da Sie dies als C ++ markiert haben, dachte ich, ich sollte Ihnen sagen, dass Methoden normalerweise Funktionen in C / C ++ genannt werden.
Sicher im Falle von float vs. double sollten Sie nicht überladen, es ist einfach zu fehleranfällig. Ich habe gehört, dass die Leute argumentieren, dass man in solchen Fällen immer andere Namen verwenden sollte, um ganz eindeutig zu sein und dem Leser so klar wie möglich zu machen, und ich stimme dem zu.
Überladene Funktionen ist der C ++ - Ansatz zum Gruppieren von Funktionen, die in ihrem Verhalten ähnlich sind.
%Vor%Funktionen mit anderen Namen (z. B. do_it_with_a oder do_it_with_a_b) ist der C-Ansatz zum Gruppieren von Funktionen, die in ihrem Verhalten ähnlich sind.
Wenn sich Ihre Funktionen also in ihrem Verhalten unterscheiden, sollten Sie sie nicht überladen.
Tags und Links c++ design oop overloading