Partage
  • Partager sur Facebook
  • Partager sur Twitter

pas compris POO C++

qui peut faire une video

Sujet résolu
    12 mai 2012 à 15:34:48

    .

    -
    Edité par dadapouce 26 mars 2018 à 23:45:05

    • Partager sur Facebook
    • Partager sur Twitter
      12 mai 2012 à 15:43:23

      Je crains bien qu'une vidéo ne puisse pas changer grand chose, il faut lire, relire et essayer
      • Partager sur Facebook
      • Partager sur Twitter
        12 mai 2012 à 16:27:25

        .

        -
        Edité par dadapouce 26 mars 2018 à 23:45:12

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          12 mai 2012 à 17:28:50

          Une vidéo n'aiderait pas beaucoup, ce n'est pas un chapitre très visuel...
          Par contre, si tu donnes plus d'indications sur ce que tu ne comprends pas, on peux peut-être t'aider. Par premier chapitre, tu parles de l'introduction, ou du premier sur les classes ? As-tu déjà compris ce qu'est une classe ?
          • Partager sur Facebook
          • Partager sur Twitter
            12 mai 2012 à 17:31:51

            Une vidéo, mais pourquoi ?

            Rien ne vaut un bon bouquin pour ça...
            • Partager sur Facebook
            • Partager sur Twitter
              12 mai 2012 à 17:42:08

              .

              -
              Edité par dadapouce 26 mars 2018 à 23:45:19

              • Partager sur Facebook
              • Partager sur Twitter
                12 mai 2012 à 18:06:28

                Bah tu as un objet, auquel tu peux appliquer des méthodes, en gros faire des choses avec. La POO est dure à comprendre du premier coup
                • Partager sur Facebook
                • Partager sur Twitter
                  12 mai 2012 à 18:07:52

                  .

                  -
                  Edité par dadapouce 26 mars 2018 à 23:45:22

                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 mai 2012 à 18:48:23

                    Salut,
                    la POO c'est un peux comme une voiture.
                    Une voiture te permet d'avancé tout droit, d'avancé sur la droite, d'avancé plus vite ou en marche arriéré. Ses action sont possible grâce a des commandes : volant, pédale accélération freinage et boite a vitesse, mais se ne sont pas les instrument de commande qui crée directement l'action il ne font que retransmettre les ordres au mécanisme interne de la voiture : injection de l'essence, les crémaillères de direction, l'étincelle des bougies au moment de la compression.

                    Quand tu crée une classe tu défini les mécanisme interne et tu crée une commande pour obtenir le résultat de se mécanisme => les méthode.

                    J’espère t'avoir un peux aidé.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      12 mai 2012 à 18:52:42

                      .

                      -
                      Edité par dadapouce 26 mars 2018 à 23:45:28

                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        12 mai 2012 à 20:09:31

                        1) Bescherelle ( tu en as besoin manifestement )

                        2) Dans ce cas lit d'autres cours si tu estimes que celui est incomplet ( il l'est ). Il y a en a plusieurs dans ma signature.

                        3) La POO est toujours présentée comme un truc magique, ce qui laisse croire au débutant que ça permet de tout faire sans rien glander. C'est mille fois faux. La POO est plus longue, plus complexe, plus chiante, plus dure à comprendre, nécessite plus de réflexion, etc...
                        Par contre pour des gros projet ça devient très vite hyper avantageux et, paradoxalement, plus rapide.
                        En revanche il faut du temps pour :

                        1] Comprendre ( concepts, théorie, ce que c'est, etc...)
                        2] Assimiler ( avoir l'illumination qui, à la suite d'une longue période de réflexion, nous fait comprendre à quel point c'est pratique et avantageux dans plein de situations et donne l'envie de s'en servir. J'estime en être à ce niveau )
                        3] Mettre en pratique de manière instinctive la POO, et de manière propre, automatique, comme pour le reste des connaissances ( fonctions, etc...).

                        4) La POO n'est pas magique, c'est juste une interface très pratique qui pour un concept donné, permet de rassembler les informations y étant liées ( variables, attributs ) sous un seul nom ( le nom de ta classe ) et de proposer des fonctions ( méthodes ) faites pour travailler expressément dessus.
                        L'encapsulation existe pour éviter les accidents ( toucher aux attributs qui ne devraient pas être manipulés à la légère ) et forcer l'utilisateur à utiliser la classe uniquement ce pour quoi elle a été conçue ( à travers la méthode qui existe pour, donc ).
                        J'imagine que si tu n'a toujours pas assimilé la chose ( c'est normal ça prend du temps ) mon discours risque de glisser sur toi.
                        Dans ce cas il n'y a pas 36 solutions : il faut pratiquer, pratiquer, pratiquer... sans POO.
                        Puis t'y remettre et la réétudier. A ce stade peut-être qu'elle te paraîtra dérisoire de simplicité, et même très pratique, lorsque tu auras galéré longtemps sans là où elle aurait été intéressante.
                        Tu pourras alors la pratiquer à fond.
                        Dans tout les cas j'analyse ton blocage comme n'étant pas un problème de compréhension ( c'est pas méga dur en théorie ) mais un problème d'intérêt ( tu as du mal a savoir en quoi c'est intéressant, donc tu as l'impression que l'utiliser c'est se ruiner la vie inutilement et donc de ce fait tu penses ne pas comprendre ).

                        Je ne suis pas pédagogue accompli mais selon moi il est mieux de commencer l'OO par des... structures, ou classe avec des attributs publics. Dans ce cas ton classe sert de " sac à données " liées par une logique ( taille, vitesse et poids d'une voiture par exemple ).

                        Dans ce cas il faut faire des problèmes où de telles structures de données sont nécessaires.
                        Puis on augmente la difficulté et on s'aperçoit qu'on a besoin de méthodes pour travailler efficacement, et même d'un constructeur pour initialiser les attributs ( pour éviter de le faire à la main pour chaque ).
                        C'est de cette manière que sont introduits chacun des éléments de l'OO : en douceur, morceau par morceau, et non pas comme un énorme bloc de données. Le plus important étant que chacune des notions apprises est motivée par une nécessité de la part de l'élève, parce qu'il a besoin : dans ce cas il comprend tout puisque ça [ constructeur, méthode, destructeur, encapsulation ( dans l'ordre des priorités de compréhension selon moi ) ] répond à un besoin impérieux, donc il ne peut que avoir le réflexe de l'utiliser par la suite.
                        C'est de cette manière que j'ai assimilé l'OO, en pratiquant de cette façon, et je peux vous assurer que mes classes respectent l'encapsulation, parce que c'est une nécessité, au même titre les que le constructeur et les méthodes.

                        Je prône donc cette forme d'apprentissage, qui part de rien ( structure de donnée sans méthode ni constructeur ni encapsulation ) et introduit chacun des éléments au fur et à mesure des besoins de celui qui pratique.

                        1) Structure de donnée toute bête
                        2) Apparition du constructeur lorsque ça devient difficile d’initialiser proprement chaque structure ( 1 ligne ( constructeur ) au lieu de 30 pour chacun des attributs dans la fonction main() ou tout autre fonction ).
                        3) Apparition des méthodes ( le nombre d'opérations, leur taille et leur difficulté rend intéressant le codage de fonctions propres à la classe )
                        4) Lors de l'utilisation d'une structure dynamique ( la liste simplement chaînée est un bon exercice ) on apprend l'intérêt du destructeur.
                        5) Enfin on termine avec l'encapsulation, parce que ça réduit les accidents ( modification des attributs n'importe comment ) et rend " plus propre " la classe. A partir de là on la considère comme une règle générale à admettre et à appliquer tout le temps, sans qu'elle déstabilise le moindre du monde car auparavant le programmeur aura été familiarisé a l'utilisation des méthode pour gérer intelligemment sa classe et ce ne sera plus guère un obstacle pour lui).

                        C'est ainsi que j'ai appris l'OO ( en autodidacte ) et ça fonctionne mieux que le " mode d'emploi " où tout est condensé et assimilé d'un coup dans les cours sur le sujet ( ça ne favorise pas la compréhension et l'apparition des réflexes ).

                        Je prône donc une telle pédagogie.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          12 mai 2012 à 20:28:16

                          Une vidéo, c'est totalement inutile. En fait, pour faire simple, imagine dans une lampe. Cette lampe tu vas pouvoir l'allumer et l'éteindre (méthodes, ce sont des fonctions permettant d'agir sur la lampe). En suite, la lampe aura besoin par exemple d'une ampoule et d'un abat-jour, la lampe "possède" une ampoule et un abat-jour, donc ce sont des attributs.

                          L'encapsulation, c'est le fait de ne pas pouvoir agir directement sur les attributs. On ne va pas s'amuser à mettre une ampoule de 2 watt à une lampe d'une puissance de 10 watt. Il va falloir agir sur un attribut (donc sur la lampe), donc on va passer par une méthode.

                          La POO, c'est en gros ça. On fournit une classe, avec des méthodes permettant de modifier les objets créés, et avec des attributs. Puis, si on veut une lampe, on utilise la classe, et on a une nouvelle lampe fournissant toutes les méthodes. On pourra l'allumer, l'éteindre, et changer l'ampoule. :)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 mai 2012 à 21:06:18

                            .

                            -
                            Edité par dadapouce 26 mars 2018 à 23:45:40

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              12 mai 2012 à 21:14:02

                              Pas la relecture, la pratique !

                              Go ==> ma signature;
                              • Partager sur Facebook
                              • Partager sur Twitter
                                12 mai 2012 à 22:14:17

                                .

                                -
                                Edité par dadapouce 26 mars 2018 à 23:45:52

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Anonyme
                                  12 mai 2012 à 22:16:00

                                  C'est pas la POO ça, c'est dans le chapitre sur les fonctions. Relis le.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    12 mai 2012 à 22:28:20

                                    .

                                    -
                                    Edité par dadapouce 26 mars 2018 à 23:45:58

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Anonyme
                                      12 mai 2012 à 22:30:58

                                      Si tu comprend pas les fonctions attend quelques semaines/mois avant de tenter la POO. Il faut les maîtriser.
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        12 mai 2012 à 22:32:24

                                        .

                                        -
                                        Edité par dadapouce 26 mars 2018 à 23:46:02

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          12 mai 2012 à 23:05:57

                                          Mais mon dieu, relis toi. Tes posts sont juste une torture à lire.

                                          J'ai l'impression que tu t'attaques tout juste à la programmation. Si c'est le cas, peut-être le C++ n'est pas le meilleur langage pour commencer. Certes, des notions comme les fonctions se retrouvent partout, mais si tu pouvais, dans un premier temps, ne pas avoir à te soucier de l'allocation dynamique par exemple, ça te serait profitable.

                                          Je ne connais pas personnellement (ou très peu) mais j'ai cru comprendre que le Python était plutôt bien pour se lancer dans la programmation, qui plus est Objet. Ou le Java, qui reste à mon avis un bon premier langage d'apprentissage.

                                          L'Objet c'est tout une façon de penser. Dans un premier temps, il peut être pas mal de se concentrer dessus et d'oublier des concepts plus bas niveaux (par exemple, ne pas avoir à se soucier du mot clef virtual quand tu veux faire du polymorphisme).

                                          C'est un choix à faire, après.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Small is Beautiful — E.F. Schumacher | Blog (fr)
                                            12 mai 2012 à 23:09:32

                                            .

                                            -
                                            Edité par dadapouce 26 mars 2018 à 23:46:07

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              12 mai 2012 à 23:23:07

                                              Être jeune n'est pas un problème, bien au contraire. Quand tu arriveras en école d'ingé pour avoir ton diplôme, tu sauras déjà tout faire comme ça : p.
                                              Je ne peux que t'encourager sur la voie de l'apprentissage. Maintenant, je pense honnêtement que le C++ n'est pas le langage que je conseillerai à un débutant.
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Small is Beautiful — E.F. Schumacher | Blog (fr)
                                                13 mai 2012 à 6:05:19

                                                Bonjour dadapouce,

                                                je pense que tu devrais commencer par le tutoriel sur le C.
                                                Ce langage n'est pas orienté objet, mais il sera peut-être plus simple à comprendre au premier abord, tout en fournissant une bonne introduction au C++.

                                                Il t'apprendra beaucoup de choses sur la programmation en général, surtout si tu pratiques beaucoup.
                                                N'hésite pas à faire en parallèle sur ta machine ce que le rédacteur décrit dans son tuto. Sois courageux et prends bien les exercices à faire au sérieux. Tu ne pourras progresser que comme ça ! =)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  13 mai 2012 à 8:18:48

                                                  Citation : Boon63

                                                  Bonjour dadapouce,

                                                  je pense que tu devrais commencer par le tutoriel sur le C.
                                                  Ce langage n'est pas orienté objet, mais il sera peut-être plus simple à comprendre au premier abord, tout en fournissant une bonne introduction au C++.

                                                  Il t'apprendra beaucoup de choses sur la programmation en général, surtout si tu pratiques beaucoup.
                                                  N'hésite pas à faire en parallèle sur ta machine ce que le rédacteur décrit dans son tuto. Sois courageux et prends bien les exercices à faire au sérieux. Tu ne pourras progresser que comme ça ! =)


                                                  Donc, tu lui donne le pire conseil parce qu'il ne comprenait pas la POO? Bonne idée... Le C et le C++ sont deux langages distincts. Il n'a qu'a recommencer et se pratiquer. S'il n'est pas capable de faire les fonctions, il aura autant de difficulté en C qu'en C++. Et si tu commences par le C, tu prendras de mauvaises habitudes. En gros, tu vas faire du C avec la syntaxe du C++. Non, qu'il continue à se pratiquer et à relire les chapitres du C++, c'est la meilleure solution.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                  Anonyme
                                                    13 mai 2012 à 9:35:12

                                                    Citation : Boon63

                                                    Bonjour dadapouce,

                                                    je pense que tu devrais commencer par le tutoriel sur le C.
                                                    Ce langage n'est pas orienté objet, mais il sera peut-être plus simple à comprendre au premier abord, tout en fournissant une bonne introduction au C++.

                                                    Il t'apprendra beaucoup de choses sur la programmation en général, surtout si tu pratiques beaucoup.
                                                    N'hésite pas à faire en parallèle sur ta machine ce que le rédacteur décrit dans son tuto. Sois courageux et prends bien les exercices à faire au sérieux. Tu ne pourras progresser que comme ça ! =)



                                                    Retourne dans les ténèbres, inculte !

                                                    " J'ai du mal à passer mon permis de conduire avec une voiture : j'arrive pas à passer les vitesse ".

                                                    Réponse : " Bah alors t'a qu'à passer le permis poids lourd ça règlera tes problèmes ! "

                                                    C'est un peu l'équivalent de ce que tu lui propose. Si tu veux apprendre du C++ fais du C++ : le C et le C++ sont différents !
                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      13 mai 2012 à 10:22:29

                                                      .

                                                      -
                                                      Edité par dadapouce 26 mars 2018 à 23:46:14

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        13 mai 2012 à 10:34:54

                                                        Non, continu sur le C++ mais prend le temps de bien assimilé la première partie du cour (sans la partie objet), si tu a du mal a comprendre se qu'est une fonction, il est normal que la compréhension et l'utilisation des objet t’échappe. La programmation peux import le langage demande beaucoup de pratique. Il existe de nombreux site ou tu trouveras des exercice de tout niveau pour te permettre de entrainée @lgorythme ta conseillé le site france-ioi je te le conseil aussi tu i trouveras de nombreux exercice de tout niveau qui te permettrons de progressé a ton rythme. Est si tu a des problèmes de compréhension pose des questions dans les forums tu i trouveras des personnes qui t’aideront a comprendre.

                                                        Bon courage et surtout ne baisse pas les bras.
                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          13 mai 2012 à 10:47:30

                                                          .

                                                          -
                                                          Edité par dadapouce 26 mars 2018 à 23:46:19

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            13 mai 2012 à 11:12:47

                                                            Si tu es une quiche noob en programmation, franchement évite le C/C++, perso je te conseillerais de commencer par le Python ou le Ruby... ne serait-ce que pour la clarté des messages d'erreur !
                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            pas compris POO C++

                                                            × 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