Ich habe Zweifel an der Objective-C Method Overloading. Java unterstützt das Überladen von Methoden mit gleichem Namen , gleiche Anzahl von Argumenten verschiedener Typen . Aber wenn ich versuche, eine ähnliche Deklaration in Objective-C zu machen, wirft es mir den Fehler Doppelte Deklaration der Methode . Betrachten Sie den folgenden Code,
%Vor%Warum wird dies in Objective-C nicht unterstützt? Gibt es dafür eine Alternative?
In Objective-C wird es einfach nicht unterstützt. Es wurde nicht im einfachen alten C unterstützt, so dass es nicht überraschend ist, dass Objective-C ebenfalls keine Methodenüberladung hinzugefügt hat. Aus Gründen der Klarheit kann dies manchmal gut sein. In der Regel besteht die Möglichkeit darin, Informationen zum Parameter im Funktionsnamen anzugeben. Ex:
%Vor%Beginnen wir damit:
%Vor%Dies überschreibt nichts - es ist nur eine andere Methode:
%Vor%Folgendes wird nicht ausdrücklich akzeptiert, da Objective-C keine co-varianten oder kontra-varianten Methodendeklarationen zulässt. Objective-C gibt auch keinen typbasierten Versandvorgang ein, der Java und C ++ überlädt.
%Vor%Beachten Sie, dass Java direkt von Objective-C abgeleitet wurde.
Tags und Links java objective-c iphone ios oop