Programmation orientée objet, Exercises of Software Engineering

Ce document présente l'historique et les concepts fondamentaux de la programmation orientée objet (POO). Il aborde les origines de la POO dans les années 60 avec le langage Simula-67, puis son évolution dans les années 70 avec l'apparition des concepts de base tels que l'objet, l'encapsulation, le polymorphisme et l'héritage. Les années 80 ont vu l'émergence de nouveaux langages orientés objet comme Objective C, C++ et Eiffel. Enfin, les années 90 ont marqué l'âge d'or de l'extension de la POO avec le développement de la conception orientée objet et des bases de données orientées objets. Le document explique également les notions clés de la POO comme la classe, l'objet, l'instanciation, l'encapsulation, la visibilité des attributs, les différents types de méthodes, la surcharge et l'héritage. Il s'agit d'un document de référence détaillé sur les fondements de la programmation orientée objet.

Typology: Exercises

2022/2023

Uploaded on 12/28/2022

YosrCharek
YosrCharek 🇹🇳

8 documents

1 / 27

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
Programmation orientée objet
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b

Partial preview of the text

Download Programmation orientée objet and more Exercises Software Engineering in PDF only on Docsity!

Programmation orientée objet

A. U. : 10-

Introduction

Historique de la POO

Les années 60 : le langage Simula-67, langage de simulation informatique 9

Les premiers pas de la programmation orientée objet

Les années 70 : SmallTalk , apparition des concepts de base :

objet, encapsulation, polymorphisme, héritage

, etc.

Les années 80 : La Montée en puissance de l’orienté objet

Apparition de nouveaux langages : Objective C ,C++, Eiffel, Common Lisp ObjectSystem

A. U. : 10-

Introduction

Programmation procédurale Vs Programmation OO

Programmation procédurale (C, Cobol, Fortran, Pascal, etc.) : 9

Programmes structurés en procédures et fonctions,

Des problèmes en cas de modification de la structures des données,

Chaque fonction ou procédure résout une partie du problème,

Programmation OO (Java, C++, C#, Delphi, etc.): 9

Unité logique : objet,

Programmation par « composants »,

Facilité de l’évolution du code,

Améliorer la conception et la maintenance des grands systèmes,

A. U. : 10-

Introduction

Programmation par Objets?

Unité logique : l’objet

Objet est défini par : ƒ

Une identité : permet de distinguer un objet d’un autre objet.

Un état : représenté par des attributs (variables) qui stockent desvaleurs.

Un comportement : défini par des méthodes (procédures) quimodifient des états.

Moto

Couleur : noir Vitesse : 150 Km/h^ Accélérer^ Freiner

A. U. : 10-

Le concept d’objets

Notion d’objet

Un objet est défini à la fois par des informations

: données ou attributs ou

variables d’instances ; et des comportements

: traitements ou méthodes ou

opérations.

Moto

Couleur Vitesse_limite^ Accélérer^ Freiner

Objet Moto

Le concept d’objets

Notion de classe

Lorsque des objets ont les mêmes attributs et comportements : ils sont regroupésdans une famille appelée :

Classe

Les objets appartenant à celle-ci sont les instances de cette classe. Æ

L’instanciation

est la création d’un objet d’une classe.

Moto

Couleur : noir Vitesse_limite : 200 Accélérer Freiner

Moto

Couleur : rouge Vitesse_limite : 250^ Accélérer^ Freiner

A. U. : 10-

Le concept d’objets

L’encapsulation et la visibilité des attributs

De point de vue utilisation, un objet est une boite noire qui offre un certain nombre de méthodes permettant d’interagir avec lui.

Peu importe comment il est construit en interne, la seule chose nécessaire pourpouvoir utiliser un objet est de savoir ce qu’il peut faire et surtout comment luidemander : ™

Exemple :un poste de TV est une « boite noire » ayant pour interface

: un écran, des

HP et une télécommande. Pour changer de chaine, il suffit de d'appuyer sur une touche de la télécommande.

Peu importe ce qui se passe réellement en interne

.

A. U. : 10-

Le concept d’objets

L’encapsulation et la visibilité des attributs

L’ensemble des méthodes proposées par un objet est appelé l’interface de cetobjet.

On dit qu’un objet est encapsulé par son interface : la seule manière d’interagiravec cet objet est d’invoquer une méthodes de son interface. Peu importe de quoicet objet est réellement constitué, ce qui est important c’est les services (lesméthodes) qu’il peut fournir.

Objet

Interface

Le concept d’objets

L’encapsulation et la visibilité des attributs

Il existe trois niveaux de visibilité : 9

Publique : veut dire que les attributs ou les méthodes sont disponibles pour tout lemonde

Privé : veut dire qu’aucune autre classe ne peut accéder au contenu de l’attribut etl’implémentation de la méthode concerné,

Protégé : l'accès aux données est réservé aux fonctions des classes héritières

, c'est-à-

dire par les fonctions membres de la classe ainsi que des classes dérivées.

A. U. : 10-

Le concept d’objets

Les méthodes d’une classes

On distingue trois types de méthodes dans une classe: 9

Les

constructeurs

qui permettent d’initialiser les champs d’un objet

Un constructeur est une méthode

particulière, sans valeur de retour, portant

le même nom que la classe

Déclaration :

Moto (String nouvelle_couleur){

Couleur= nouvelle_couleur;

Le concept d’objets

Les méthodes d’une classes

Les méthodes get… et set … utilisés en cas de protection des attributs: 9

Les

méthodes d’accès

qui permettent de renvoyer les informations relatives à un objet

Déclaration :

int getVitesse(){

return vitesse;

Les

méthodes d’altération

qui modifient l’état d’un objet (les valeurs de certains

champs), donc elles comportent certains contrôlent pour valider les nouvellesvaleurs.

Déclaration :

void setVitesse (int nouvelleVitesse){

vitesse = nouvelleVitesse;

A. U. : 10-

Le concept d’objets

Les méthodes d’une classes

Le constructeur

: c'est une méthode qui est appelée automatiquement à chaque

fois que l'on crée un objet basé sur cette classe.

Le destructeur

: c'est une méthode qui est automatiquement appelée lorsqu'un

objet est détruit, par exemple à la fin de la fonction dans laquelle il a été déclaréou lors d'un

delete

si l'objet a été alloué dynamiquement avec

new

Le destructeur

libère la zone mémoire allouée par le constructeur. Il s’exécute à

la fin du programme ou d'un bloc où des objets locaux ont définis.

Le concept d’objets

La surcharge des méthodes

Exemple de surcharge : la surcharge de constructeurs

Déclaration :

Moto (int v){

vitesse = v;

Moto (int v, String c){

vitesse = v; couleur= c;

Moto (String c){

couleur= c;

A. U. : 10-

Le concept d’objets

L’héritage

L'héritage est un mécanisme qui facilite la réutilisation du code et la gestion deson évolution. Elle définit une relation entre deux classes :

Une classe mère ou super classe

Une classe fille ou sous classe qui hérite de sa classe mère

les objets d'une classe fille ont accès aux données et aux méthodes de la classe parent etpeuvent les étendre.

Les sous classes peuvent redéfinir les variables et les méthodes héritées.

Les méthodes des clases filles sont redéfinies avec le même nom, les mêmes types et lemême nombre d'arguments