27 votes

Objective-C: Pourquoi est-il appelé 'id'?

Pourquoi est ce que l'Objective-C type d'objet appelé "id"? Par opposition, par exemple, l '"objet"?

47voto

Andy Dent Points 9852

Il est appelé id parce que, littéralement, est le type représente un identificateur.

Citant Brad Cox à partir de la Programmation Orientée Objet: une Approche Évolutive (en fait, la première édition, l'un des premiers OO livres que j'ai acheté): Un id consomme une quantité fixe de l'espace, assez large pour identifier le plus grand nombre d'objets qui peuvent exister à un moment donné. Cet espace n'est pas le même que l'espace occupé par les données privées dans l'objet lui-même. Les identificateurs d'objet sont de taille fixe de chiffres,...

7voto

Lawrence Johnston Points 9723

Je suppose que l'autre possibilité n'est pas mentionné ici serait que l'Objective-C gens étaient latine amateurs et basé hors de la singulier nominatif/accusatif (sujet/objet) les formes du pronom Latin id (qui signifie "il"). C'est une sorte de terme générique s'adressent à un objet spécifique, et de l'id est un pointeur vers un objet générique, donc, on ne sait jamais:).

2voto

paxdiablo Points 341644

C'est peut-être l'id du système de classe (comme dans Freud id/ego/surmoi) qui rendrait un peu de bon sens compte tenu de l'id est la base de la nature de l'organisme. Non pas que je crois tout de que Freud ordures de toute façon :-).

Ou, peut-être que les développeurs de l'Obj-C est venu de l'UNIX de l'école de namers (avec "ls" ou "cd") plutôt que le VAX école (avec ses "afficher le répertoire" et "répertoire").

Ou, il pourrait représenter les données de l'instance, ce qui est probablement la plus probable.

2voto

Ryan Townshend Points 2027

Théorie sans preuve :

Comment à propos de "l'identité" parce que c'est un pointeur vers n'importe quel objet unique.

0voto

Matthew Schinckel Points 15596

Comme Ryan notes, il est en fait un pointeur: IIRC il est NSObject *.

Comme pour le nommage peut-être le namer utilise un Dvorak-clés de mise en page. " id " est vraiment facile à saisir dans ce cas (c'est comme taper 'gh' sur Qwerty).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X