INF353 : Informatique

UJF - Licence de Physique

[ Home| Unix| C++| Graphisme| Projets| Web| FAQ ]


Organisation

Le but de ce module est de vous donner un aperçu de l'intérêt de la programmation objet à travers un langage moderne et de plus en plus répandu (le C++). Vous aurez à travailler dans un environnement UNIX : ce système d'exploitation prend de plus en plus de place aussi bien dans les laboratoires de recherche que dans l'industrie grâce au développement des PC LINUX (équivalent d'UNIX sur les PC). Ce module comporte donc une première partie de cours sur les rudiments d'UNIX (1/2 à une scéance) et du C++ (maximum 5 scéances). La seconde partie sera dédiée à la réalisation d'un projet de simulation (6 scéances).

La note finale de ce module se décomposera en : un rapport écrit de votre projet (sur 8 points environ), la présentation oral de votre projet (sur 8 points environ) et une note de contrôle continu (sur 4 points environ).

Introduction au C++

Que faire avant de programmer ?

Avant de se retrouver devant un ordinateur pour écrire un programme, il faut avoir établi clairement ce qu'on désire lui faire faire. Voici l'ensemble des étapes à suivre, indispensables, à faire au préalable devant une feuille de papier. Vous pourrez avoir besoin de ces conseils dans quelques leçons, lorsqu'on vous demandera d'écrire un programme de votre propre conception.

Voilà, vous pouvez maintenant en toute confiance traduire votre travail dans n'importe quel langage informatique. Les erreurs de structuration logique ayant été éliminées, il ne vous restera plus qu'à corriger les inévitables erreurs de syntaxe et de frappe.

La Programmation Orientée Objet

Dans le paragraphe précédent, nous avons donné les bases d'une programmation structurée. La notion de fonction est très intéressante mais elle présente l'inconvénient de découpler les structures de données qu'elle manipule de la façon de les manipuler. La programmation orientée objet a pour but de rétablir ce lien. Un objet pourra se définir comme un ensemble de données (les attributs) + un ensemble de méthodes agissant sur ces attributs. On parle souvent d'encapsulation des données dans la mesure où pour accéder aux données d'un objet, on utilise des méthodes propres à cet objet. En conséquence, cela permet de modifier très simplement un code (parfois complexe) : on modifie tel ou tel objet sans que le reste du programme soit à remettre en cause. Les classes sont une généralisation de la notion de type (entiers, réels, ...) : il s'agit de la description d'un ensemble d'objets ayant les mêmes attributs et les mêmes méthodes. Enfin, l'héritage est le dernier concept fondamental en programmation objet ; il permet de définir une nouvelle classe à partir d'une autre plus ancienne en conservant donc méthodes et attributs de cette dernière et en lui ajoutant des méthodes et attributs spécifiques. Tout ce qui est dit dans le paragraphe précédent s'applique donc à l'élaboration des classes.