Überladen der Objective-C-Methode

7

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?

    
EmptyStack 10.02.2011, 07:13
quelle

2 Antworten

15

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%     
Michael Aaron Safyan 10.02.2011, 07:19
quelle
6

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.

    
bbum 10.02.2011 18:29
quelle

Tags und Links