[Objet]Requete avant boucherie d'examen ...

Requete avant boucherie d'examen ... [Objet] - Programmation

Marsh Posté le 23-06-2002 à 17:13:24    

Je sais que je risque de me faire traiter de glandeur, de branle rien et d'astique ménhir mais bon je tente ..
 
J'ai une épreuve de BTS mardi, la derniere et je dois présenter 5 activités professionnelles ...
 
1 en langage procédural
1 en langage évenementielle
1 en langage objet
1 en SGBD
1 en réseau ...
 
j'ai tout ...Sauf l'objet
 
Je n'ai jamais fais de programmation orienté objet .. j'ai juste une legere notion de ce que sont les classes ...
 
Je ne demande pas une activité toute faite, avec source, rapport terminé, 100 balles et un mars ... mais je patauge et j'aurais besoin d'idées ...
 
Qu'est ce qui serait présentable comme application basée sur la programmation objet ... des exemples ? des idées ... ?
 
Voilà c'est tout ...

Reply

Marsh Posté le 23-06-2002 à 17:13:24   

Reply

Marsh Posté le 23-06-2002 à 17:37:03    

L'orienté objet est utilisé pour supporter l'évolution et la réutilisation d'un programme. Donc je dirais des application où ces 2 conceptes sont important.
Les "design patterns" me paraîssent qq chôse de chouette à traîter. Ce sont des solution génèrique à des problèmes récurrents dans la programation OO, qui supportent ces 2 conceptes. Les design patterns disent cmt résoudre ces problèmes (sans tenir compte d'un langage OO précis).
http://www.cetus-links.org/oo_patterns.html
T'as besoin de source ou tu dois simplement écrire un truc sur l'OO?

Reply

Marsh Posté le 23-06-2002 à 17:45:12    

paranoidandroid a écrit a écrit :

 

Qu'est ce qui serait présentable comme application basée sur la programmation objet ... des exemples ? des idées ... ?

Voilà c'est tout ...  




 
Un exemple facile à comprendre c'est un programme de simulation numérique. C'est facile d'expliquer que l'objet de la simulation va être implementé sous forme de classe avec ses propriétés et ses méthodes. C'est plus facile à comprendre qu'une classe qui encapsule une API ;)
 
Au choix, tu as : simu d'une population de cellules, evolution de forets, population de fourmis, circulation de voitures etc... Je trouve (avis perso) que c'est un excellent moyen de représenter le concept de classe, d'objets et de relation/interaction entre ces objets.

Reply

Marsh Posté le 23-06-2002 à 18:10:28    

Ce qui est aussi chouette comme idée... un truc sur les figures géometrique. Par exemple un truc pour calculer les surfaces de triangle, carré, cercle, etc.
T'as une classe abstraite (abstract class) qui représente les formes géometrique en génèral avec des méthodes comme:
float calculerSurface()
float calculerContour()
...
 
Puis tu fais des "subclass" de la classe FigureGeometrique -> une classe Triangle, une classe Carré, une classe Cercle,... qui chacun définient les methodes calculerSurface() et calculerContour() à ca manière.
Donc pour la surface d'un cercle: pi*r^2
Pour la surface d'un carré: côté^2
Dans le constructeur de Cercle tu donnes 1 paramètre: le rayon
Dans le constructeur de Carré tu donnes 1 paramètre: le côté
... et tu les gardes comme des instance privés ou protégé de ta classe, que tu utilises par après pour calculer la surface, ou le contour.
L'avantage de faire des "subclasses", c'est que si par exemple une méthode d'une autre classe doit utiliser des figures géomètrique dans une méthode:
float blabla(FigureGeometrique uneFigureGeometrique){
/*Ici ils se passe qq chôse avce tes figures, comme par exemple le calcul d'un surface*/
... uneFigureGeometrique.calculerSurface();
}
tu déclares ton paramètre comme étant une figure géometrique... et tu peux lui filer n'importe quelles figures (un cercle, un triangle,...) puisque ce sont des "sublass" de FigureGeometrique.


Message édité par MelloW le 23-06-2002 à 18:10:57
Reply

Marsh Posté le 23-06-2002 à 18:18:25    

L'avantage de ce truc c'est que si par après tu veux rajouter une nouvelle figure géometrique (un parallèlogram par exemple), tu crées  une classe Parallèlogramme comme "subclass" de FigureGéometrique, tu définies les méthodes calculerSurface, etc. Mais la classe avec la méthode blabla(FigureGéometrique uneFigureGéometrique) ne doit pas être modifiée... -> garantie d'une bonne évolution du système, puisque tu rajoutes des classes mais tu n'en modifies pas d'autre...
Ce n'était qu'un ptit exemple...

Reply

Marsh Posté le 23-06-2002 à 18:28:11    

[:whiteponey]  
 
Ah mais keske vous racontez là ????
 
Bon je relis calmement ..
 
Pour répondre à mellow ... oui il me faudra des sources ... C'est en quelque sorte la présentation d'une appli qui a été déveloippé en entreprise ou pour motivations personnelles ...
 
Assez technique comme épreuve ...
 
Bo, je vous remercie pour ces chtis eclarcissements ..
 
Thx a lot

Reply

Marsh Posté le 23-06-2002 à 18:29:55    

:D moi c'est demain a 13h30 et il me manque encore 2 PTI  :cry:

Reply

Marsh Posté le 23-06-2002 à 18:33:23    

NeoKill@h a écrit a écrit :

:D moi c'est demain a 13h30 et il me manque encore 2 PTI  :cry:  




 
Pire que moi lui ...
 
Moi il me reste juste l'appli objet ... mais je n'en ai qu'un de rédigé.

Reply

Marsh Posté le 23-06-2002 à 18:40:42    

MelloW a écrit a écrit :

L'avantage de ce truc c'est que si par après tu veux rajouter une nouvelle figure géometrique (un parallèlogram par exemple), tu crées  une classe Parallèlogramme comme "subclass" de FigureGéometrique, tu définies les méthodes calculerSurface, etc. Mais la classe avec la méthode blabla(FigureGéometrique uneFigureGéometrique) ne doit pas être modifiée... -> garantie d'une bonne évolution du système, puisque tu rajoutes des classes mais tu n'en modifies pas d'autre...
Ce n'était qu'un ptit exemple...  




 
Ptit exemple mais très clair ...
 
Juste une question en passant ... quand ut parles de subClasse .. et quez tu dis que je peux créer la classe Parralélogramme sous classe de FigureGéométrique ... peut on dire qu'il s'agit ici d'une classe qui "Hérite" d'une autre ?

Reply

Marsh Posté le 23-06-2002 à 18:51:01    

paranoidandroid a écrit a écrit :

 
 
Ptit exemple mais très clair ...
 
Juste une question en passant ... quand ut parles de subClasse .. et quez tu dis que je peux créer la classe Parralélogramme sous classe de FigureGéométrique ... peut on dire qu'il s'agit ici d'une classe qui "Hérite" d'une autre ?  




 
oui
 
Exemple :
 

Code :
  1. // classe abstraite : "une figure a une surface"
  2. class FigureGeometrique
  3. {
  4. public:
  5. virtual double getSurface() = 0;
  6. };
  7. class Carre : public FigureGeometrique
  8. {
  9. private:
  10. double arete;
  11. public:
  12. virtual double getSurface() { return arete*arete; }
  13. };
  14. //etc...


 
Carre herite de Figure et implemente sa propre version du calcul de surface : c'est ça la spécialisation.

Reply

Marsh Posté le 23-06-2002 à 18:51:01   

Reply

Marsh Posté le 23-06-2002 à 18:51:16    

j'aime beaucoup l'exemple des formes géométriques :)
 
exemple:
 
une classe abstraite forme géométrique avec des méthodes comme calculerAire ou claculerPérimètre
 
ensuite, une classe losange qui hérite de forme géométrique avec les définitions des méthodes calculerAire et calculerPérimètre
 
ensuite, une classe carré qui hérite de losange avec la définition de la méthode calculerAire, mais pas calculerPérimètre vu que c'est pareil
 
 
etc etc etc

Reply

Marsh Posté le 23-06-2002 à 18:59:58    

paranoidandroid a écrit a écrit :

 
 
Ptit exemple mais très clair ...
 
Juste une question en passant ... quand ut parles de subClasse .. et quez tu dis que je peux créer la classe Parralélogramme sous classe de FigureGéométrique ... peut on dire qu'il s'agit ici d'une classe qui "Hérite" d'une autre ?  



Oui et non parceque elle est déclaré comme abstraite dans mon exemple... la classe FigureGeometrique ne définies rien... c'est les classes en dessous qui définient le comportement des méthodes. Dans la classe au dessus les methodes sont déclarée comme "abstract" aussi (donc tu ne sais pas demander à la classe FigureGeometrique -> donnes moi ta surface puisque ce n'est pas un triangle ou quoique ce soit... et puis de toute facon tu sais pas "instancier" une classe abstraite...)
Tu pourrais faire une classe FigureGeometrique (pas abstraite mais ou les methodes calculerBlaBla sont abstraite) avec des methodes non-abstraite (donc une methode qui vaut pour toutes les figures geometrique). Et le comportement de ces methodes non-abstraite vaudraient pour tous les types de figures... donc comme ce sont des "subclasses" de FigureGeometrique, elles heriteraient ces methodes non-abstraite et t'as pas besoin de les redéfinir dans la classe en dessous (alors que les methode abstraite oui...)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed