Partage
  • Partager sur Facebook
  • Partager sur Twitter

[iOS] Programmation iOS

les classes et les objets

Sujet résolu
    9 avril 2012 à 15:30:17

    Bonjour à tous,
    je débute en programmation orienté objet et je me pose une question.

    NSString qui sert à stocker une chaine de caractère et un objet ou une classe ?

    Pour moi je dirais que c'est un objet. Mais je n'en suis pas sur. Pourriez vous m'aider?
    • Partager sur Facebook
    • Partager sur Twitter
      9 avril 2012 à 15:36:00

      NSString est une classe.

      Une (instance de) NSString est un objet qui représente une chaîne de caractères.

      Bonne chance!
      • Partager sur Facebook
      • Partager sur Twitter
        9 avril 2012 à 15:40:08

        Oui mais :
        if ([chaine1 isEqualToString:chaine2])
        {
          // traitement
        }
        


        Or chaine1 et de type NSString. Et lorsque je regarde la syntaxe de l'appelle à une méthode :

        [objet methode:entrée];
        


        Donc chaine1 serait un objet de type NSString, et donc NSString serait un objet...
        De plus il est dit au début du tuto que une classe = une application, il y aurait plusieurs classe dans une application ? ...
        • Partager sur Facebook
        • Partager sur Twitter
          9 avril 2012 à 15:50:52

          Bonjour,

          Je déplace ton sujet dans le bon forum et j'ai édité le titre afin qu'il soit conforme aux règles de ce forum.
          Merci de faire attention à l'avenir.

          Edit : Concernant ton problème, je ne vois aucune différence entre :
          [chaine1 isEqualToString:chaine2]

          et
          [objet methode:entrée]
          • Partager sur Facebook
          • Partager sur Twitter
          Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
            9 avril 2012 à 15:57:01

            Je m'en excuse.
            Cette catégorie du forum n'apparait pas dans la barre du site du zéro. Ce qui fait que je ne l'ai pas trouvé.

            Edit :
            Le problème n'est pas dans la différence de ces deux lignes. Le problème est sur le type de chaine1, qui est NSString, et donc NSString quel est son type : classe ou objet.

            Si NSString est une classe, alors il devrait y avoir des objets dans cette classe. Ma question est donc : quels sont ces objets ?
            Si NSString est un objet, alors il cet objet contient des méthodes comme stringWithFormat, mais alors pourquoi dans le tutoriel il est dit : la méthode stringWithFormat de la classe NSString.

            Je veux juste bien comprendre ce qu'est un objet et une classe, et je pense que quand j'aurai compris comment et construit NSString, je m'en sortirais mieux
            • Partager sur Facebook
            • Partager sur Twitter
              9 avril 2012 à 16:05:27

              Prenons un exemple:

              Un lapin mange une carotte.

              Un lapin est un mammifère terrestre friand de carotte, en gros c'est un objet. "lapin" quant à lui est un concept, et ne mangera jamais de carotte.

              Pour objets et classes c'est pareil. Un lapin est un "lapin", chaine1 est une NSString. Dire que NSString est un objet, c'est dire que "lapin" est une entité réelle du monde.

              J'espère que cet exemple te donneras un peu d'inspiration :)
              • Partager sur Facebook
              • Partager sur Twitter
                9 avril 2012 à 16:05:59

                En fait, la classe NSString définit un certain nombre de méthodes.
                Lorsque tu crées un objet du type NSString, tu peux utiliser ses méthodes.
                C'est un peu les bases de l'orienté objet. ^^
                • Partager sur Facebook
                • Partager sur Twitter
                Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
                  9 avril 2012 à 16:12:06

                  Je reprend l'exemple pour voir si j'ai bien compris..

                  si lapin est un objet, "lapin" est la classe dont est issue cette objet
                  donc chaine1 est un objet issue de la classe NSString ?


                  Citation : AndroWiiid

                  En fait, la classe NSString définit un certain nombre de méthodes.
                  Lorsque tu crées un objet du type NSString, tu peux utiliser ses méthodes.
                  C'est un peu les bases de l'orienté objet. ^^


                  Justement je découvre l'orienté objet avec l'objective-C. En gros on créé une classe, on définit ses méthodes, ses variables d'instances.
                  Ensuite on créé un objet et cet objet et du type de la classe précédemment créer et peut faire appel à toutes les méthodes définit dans cette classe ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    9 avril 2012 à 16:13:34

                    Citation : tof06

                    donc chaine1 est un objet issue de la classe NSString ?


                    Oui.
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.
                      9 avril 2012 à 16:14:20

                      Ok, Merci à vous deux ;) vous venez de me faire faire un grand pas dans l'orienté objet ;)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 avril 2012 à 16:15:37

                        Si ton problème est résolu, marque le comme tel via le bouton "Marquer résolu" pour que d'autres puisses trouver la réponse à leur problème si il est similaire. :)

                        Edit : Merci.
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.

                        [iOS] Programmation iOS

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown