IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Objective-C Discussion :

[Objective-C]Objc-C et le type id


Sujet :

Objective-C

  1. #1
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut [Objective-C]Objc-C et le type id
    Bonjour à tous,

    La rédaction du cours sur l'objective-c avance, mais en l'écrivant je me suis posé une question. La méthode d'initialisation d'une classe renvoie un objet de type id, mais pourquoi ne pas préciser le type de l'objet ?

    Code Objective-C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    /* implémentation d'une classe Voiture */
     
    @implementation Voiture
     
    - (id)init /* pourquoi on écrit pas - (Voiture *)init ??? */
    {
        self = [super init];
        if (self != nil)
        {
     
        }
     
        return self;
    }
     
    /* ... */
     
    @end

    Merci pour votre aide et bon développement (ou rédaction)

  2. #2
    Membre averti

    Inscrit en
    Février 2003
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 154
    Points : 310
    Points
    310
    Par défaut
    On ne surcharge pas systématiquement init. Tu peux donc très bien initialiser une instance par le biais d'une classe mère. Du coup, si on faisait ce que tu dis et bien l'initialisation de voiture pourrait retourner un warning parce qu'on attendait un type voiture alors que c'est la classe véhicule (à titre d'exemple) qui a fait l'init.

    Est-ce plus clair dans ton esprit?

  3. #3
    Membre expérimenté Avatar de Ceylo
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2007
    Messages
    1 216
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 216
    Points : 1 312
    Points
    1 312
    Par défaut
    C'est un peu ce que je me suis dit après avoir posté mon message, mais je n'étais pas sûr.

    Merci

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 34
    Points : 36
    Points
    36
    Par défaut
    Cette notion de typage dynamique se retrouve dans les méthodes. J'ai posté ce jour un fil de discussion à ce sujet sur un autre forum.

    http://www.objective-cocoa.org/forum...cseen.html#new

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/06/2008, 10h49
  2. [C++ .Net] Comment récupérer les données du type Object ?
    Par psau dans le forum Framework .NET
    Réponses: 3
    Dernier message: 01/08/2006, 15h59
  3. Convertir un string en type property ou object
    Par bencot dans le forum Langage
    Réponses: 2
    Dernier message: 20/11/2004, 20h18
  4. Comment inserer des donnee de type Large Object !!
    Par josoft dans le forum Requêtes
    Réponses: 4
    Dernier message: 20/07/2003, 11h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo