Ce modeste chapitre est destiné à tous ceux qui souhaitent affiner leur compréhension du langage C++, boucher les zones troubles, les appelations et définitions incomprises et aussi un bref récapitulatif des fonctions de base du langage C.
Ce premier cours insistera sur « Quelques définitions du langage C++ »
Il va de soi que vous devez avoir une certaine connaissance de base du langage C au préalable (pointeurs, fonctions ect.), pour pouvoir suivre ce cours de façon aisée.
Si ce n'est pas le cas, je vous renvoie illico-presto sur l'excellent tutorial : Apprenez à programmer en C / C++ !
En 3 semaines chrono vous serez opérationnel.
Revenons à nos moutons ...
Sommaire 1ere partie.
- Généralités du C++.
- Norme C++.
- Un peu d'histore.
- Qu'est ce que la programmation objet (quelques définitions)
- L'objet
- L'encapsulation
- Les classes
- L'héritage
- L'objet
- Questionnaire.
- Norme C++.
- Incompatibilité entre C++ / C.
- Incompatibilité sur définitions de fonctions.
- Incompatibilité sur les prototypes de fonctions.
- Incompatibilité sur les arguments et valeur de retour.
- Points communs.
- Différences.
- Points communs.
- Compatibilité entre le type void * et les autres pointeurs
- Incompatibilité sur définitions de fonctions.
- Input-Ouput Conversationnelles du C++
- Généralité.
- L'Affichage.
- Les nuances de l'affichage et son code.
- Lecture au clavier.
- Le synchronisme.
- Les nuances de l'affichage et son code.
- Généralité.
Ce cours est fondé sur la norme ANSI/ISO du langage C++, laquelle est dorénavant reconnue par la plupart des compilateurs récents ... En gros, vous pouvez suivre ce cours sur quasiment toutes les IDEs, avec tous les compilateurs, il n'y aura à priori pas de problème.
Le C++ est conçu en 1982 par Bjarne Stroustrup pour les laboratoires Bell, son objectif principal été d'ajouter au langage C des classes analogues à celles du langage Simula. Soit en plus clair :
Intégrer à un langage classique des possibilités de "Programmation Orientées Objets".
"Programmation Orienté Objet", mais qu'est ce que c'est ?
1 - L'Objet.
La POO est fondé sur le concept de l'objet. A savoir une association des données et de procédures(méthodes) agissant 'encore' sur des données.
Donc la POO peut se traduire par :
Objets = Méthodes + Données
2 - L'Encapsulation.
L'encapsulation, l'encapsulation ... imaginé donc, quelques carrés de sucre posés sur une table, et un verre recouvrant ces sucres. Est-il possible pour une personne extérieur de toucher directement les sucres ?
Bien sûr que NON. Voilà le concept de l'encapsulation !
De manière un peu plus 'Programmatique' :), cela signifie qu'il n'est pas possible d'agir directement sur les données(rappelez-vous les petits sucres) d'un objet. Il sera donc nécessaire de passer par l'intermédiaire de ses méthodes, qui joueront alors le rôle d'interface obligatoire.
Mais à quoi ça sert ce truc ? :)
Bien oui, à quoi ça sert ? nous allons y venir..
Question : Par quoi se caractérise un objet ?
Allez allez ... vous le savez, creusez dans cette mémoire !
Par quoi se caractérise un objet ?
...
Nous savons tous qu'un objet se caractérise uniquement par les spécifications de ces méthodes, à savoir :
- Noms
- Arguments
- Rôles
L'encapsulation des données donc, à pour but de faciliter considérablement entre autre la maintenance logiciel. Rappelez-vous que l'implantation des données est sans importance donc la modification éventuelle de la structure des données d'un objet n'aura d'incidence que sur l'objet lui-même et non sur les données.
Magique n'est ce pas !
Lisez bien ce qui suit, vous allez comprendre :
Les utilisateurs de l'objet ne seront pas concernés donc par la teneur de cette modification, d'une importance catégorique, ce qui n'est pas du tout le cas pour la programmation structurée.
Et oui, le principal défaut de la programmation structurée hormis sa robustesse, c'est en ce qui concerne sa réutilisabilité, et l'extensibilité ... l'extension quoi !
Il serait difficile donc, de modifier, (pour une quelconque adaptation par exemple) un logiciel sans en modifier les données !
Voila ... Le Gros problème du problème ! bon on ne va pas trop s'attarder la dessus, mais c'est toujours
bon à savoir. ... euh, à comprendre plutôt.
En Bref :
Encapsulation = Protection des données, et si modification d'un objet, pas d'incidence sur les utilisateurs de cette objet.
Voila, plus clair que ca, ca n'existe pas ! :D
3 - Les classes.
Le concept de classe correspond à la généralisation de la notion de type que l'on rencontre dans les langages classiques.
Une classe c'est une description d'un ensemble d'objet, ayant une structure de données communes et disposant des mêmes méthodes :-D.
Une Classe = description de :
- un ensemble d'objet,
- une structure de données communes
- disposant des mêmes méthodes.
Les objets apparaissent donc, comme des variables d'un tel type de classes.
La phrase magique : Un objet est une instance de sa classe !
Ca commence a s'éclaircir là ? ... continuons.
4 – L'héritage.
Un concept tout aussi important que le concept de l'encapsulation, il permet de définir une nouvelle classe à partir d'une classe déjà existant, à laquelle on ajoute de nouvelles données et de nouvelles méthodes (on verra l'importance par la suite).
La conception d'une nouvelle classe permettra d'hériter les propriétés et les aptitudes de l'ancienne, et les spécialiser comme bon vous semblera. Il y aura donc une réutilisation des produits existants, et réitéré autant de fois que l'on désire.
A présent vous devriez être capable de répondre de manière théorique à quelques question.
- Qu'est ce qu'un objet ?
- Une classe ?
- Un héritage ?
- Quel est l'intérêt de l'encapsulation ?
pour toute réclamation envoyé un mail-privé, et non un poste à la suite du cours merci
Ce message a été modifié par Gen - 02 mars 2007 - 12:29 .

Aide
Commencer un sujet
Ajouter une réponse


Multi-citation




