Rechercher : dans
Par :

Qu'est-ce qu'un POO ?

Dernière réponse le 12 mar 2007 à 17:13:02 WhiteFang, le 25 sep 2002 à 08:39:34 
 Signaler ce message aux modérateurs

Pour ne pas polluer certains posts, j'aimerais bien que l'on m'explique ce qu'est un langage de programmation orienté objet ?
Et pour les plus pointus, qu'est-ce qu'un objet ??
Merci !! ;-))
Wild and Free

Meilleures réponses pour « Qu'est ce qu'un POO ? » dans :
Le mot-clé static ou les attributs et méthodes de classe en POO Voir(NOTE: Cet article explique la signification du mot-clé static au sein d'une classe. La signification de "static" en C n'a par exemple rien à voir.) Vous êtes débutant en programmation orientée objet. En Java, en C++...ou que sais-je encore,...
Introduction au Dark Basic VoirGrand merci à DJ Fire-Black qui est l'auteur de cette astuce. Introduction Pourquoi choisir DarkBASIC plutôt qu'un langage POO ? DarkBASIC est simplifié, par rapport aux langages POO (Programmation Orientée Objet) et vous fera gagner un temps...
POO - Le polymorphisme VoirDéfinition du polymorphisme Le nom de polymorphisme vient du grec et signifie qui peut prendre plusieurs formes. Cette caractéristique est un des concepts essentiels de la programmation orientée objet. Alors que l'héritage concerne les classes (et...
POO - Encapsulation des données VoirLe concept d'encapsulation L'encapsulation est un mécanisme consistant à rassembler les données et les méthodes au sein d'une structure en cachant l'implémentation de l'objet, c'est-à-dire en empêchant l'accès aux données par un autre moyen que les...
Introduction à la programmation orientée objet VoirUn nouveau concept de développement Extrait de « Au coeur de ActiveX et OLE », de David Chappel "Au cours des 35 dernières années, les concepteurs de matériel informatique sont passés de machines de la taille d'un hangar à des ordinateurs...

1

choubaka, le 25 sep 2002 à 09:04:06

Slut, je ne peux te conseiller de lire ceci

http://commentcamarche.net/poo/poointro.php3

si tu as encore des questions après lecture du sujet, n'hésite pas

Chouba
"Obsédé des travaux manuels non pratiquant"

Répondre à choubaka

2

blux, le 25 sep 2002 à 09:04:43

Salut,

va voir chez sebsauvage.net, il a un truc sympa sur la POO.

A+ Blux            "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

3

teebo, le 25 sep 2002 à 09:10:38

Bon, ben comme les liens semblent pertinent...J'attends que tu ais lu et si tu as d autres questions, hesite pas...

ö,ö
\_/

Répondre à teebo

4

WhiteFang, le 25 sep 2002 à 17:11:01

Oui, cela me semble pertinent aussi, et donc, une question me titille les neurones : Alors comme ça Visual basic n'est pas un POO ?
Enfin, d'après ce que j'ai déjà lu de vos posts ??
;-))
Wild and Free

Répondre à WhiteFang

5

teebo, le 25 sep 2002 à 17:30:00

Ba ouais...
Tu ne peux pas faire de la pure programmation objet en VB, tu peux certes creer des classes, mais toutes les formes etc ne sont pas des objets, et en plus, le pire est qu il n y a pas d heritage...Alors que dans les autres langages, les classe heritent et donc pas a reecrire les routines et les objets repondent aux memes fonctions (en parties)...

ö,ö
\_/

Répondre à teebo

6

WhiteFang, le 25 sep 2002 à 18:14:13

Bin, Teebo, là, je suis un peu sceptique !! Tu dis "pure", mais c'est koi, pure ? Un objet, c'est un objet. Objet.propriété ou objet.méthode, pour moi, c'est clair. Pure, ça veut rien dire ?
Tu parles d'héritage, connais-tu le concept des feuilles "filles" ? Les "formes" fille ? Si c'est pas de l'héritage, là, je vis en pleine science-fiction !! ;-))
En fait, la raison de mon post, ici, c'est ce que j'en ai lu du post pour "Honoré", notre cher habitant du breceau de l'humanité.
Vous avez tous tiré à boulets rouges sur VB... Pourquoi ? Pour peu que l'on connaisse VB, BIEN, je veux dire, comme l'enseigner, en quoi VB n'est pas un POO ? C'est CA, la vraie question...
La chose que je sais, c'est que jusqu'il n'y a pas longtemps, le compilé de VB (6) était moins rapide que du C++, mais avec la version 7, la donne à changée...
Tu sais, faut rester objectif. Faut bien connaître tous les langages pour dire, en toute objectivité, lequel est le plus performant, et encore, cela dépendra du type d'application à écrire...
Mais prouvez-moi que VB n'est pas un langage de programmation oriénté objet !! Même si VB6 est moins performant que certain autres langages dans certains contextes... Moi, je veux que l'on me prouve que VB n'est pas ce type de langage... ;-)) Même VBA est orienté objet... De là, définition de l'objet ? Une forme n'est pas un objet ? Elle n'a pas de propriétés ni de méthodes ? Tu vois, ça me titille, me gratouille les neurônes, où me les chatouille, chai pas...
Et pour te faire une idée, l'adresse de mon site : http://domlevinfo.free.fr/
Tu n'y verra pas mon cv car j'en suis plus à ce stade, mais ça te donnera une idée sur ce que je sais faire, tu comprendras pourquoi ça me chatouille !! ;-))))
Mais bon, pas de querelle de clocher... A la limite, si j'ai tort, j'ai tort, question programmation objet...
Yo les potos !! ;-))
Wild and Free

Répondre à WhiteFang

10

Marmot, le 25 sep 2002 à 19:00:22

A) Le problème de VB c'est qu'il a fallut attendre la version 7 pour voir apparaître le form inheritance.

b) Sauf erreur de ma part VB.NET présente le type principal comme étant Object alors que sous VB c'était Variant. Erreur sémantique ou gros bricolage qui fait que la compatibilité VB->VB.NET est si hardue ?

c) Dans VB.NET on a TextBox1.Text = "bheuuuuaaaaaaaa", dans VB on a TextBox1 = "Ariaaaaaaaaannnnee" y'a clairement une syntaxe plus objet qu'une autre.

d) Personne n'a jamais dit qu'on ne pouvait pas faire de programme valable en VB. On a simplement souligné que d'autres langages pouvaient être plus indiqué pour l'apprentissage objet.

Plus indiqué de par la syntaxe.
Plus indiqué de par l'utilisation professionnelle.
Plus indiqué de par sa disponibilité gratuite.

Répondre à Marmot

7

WhiteFang, le 25 sep 2002 à 18:24:27

Evidemment, je n'ai pas dit que JAVA, C++ et autres n'étaient pas de bons langages, hein...
Mais, ayant mis la main à la pâte pour les programmes Arianne 4/5, fait en sorte que le sucre soit tout blanc dans les boîtes que tu achètes, fait en sorte de les parre-brise des autos soit solides, fait en sorte que les matériaux de construction... Ho là là, j'en ai tellement fait que si VB n'est pas orienté objet, là, je pars tout de suite dans la jungle vivre avec les pigmés !! Au moins, là, j'aurai l'impression d'être quelqu'un !! Rire ;-)) Ha non, là, vous me foutez les jetons, les mecs !! Je me serais trompé toutes ces années ? Argh.... ;-))
Wild and Free

Répondre à WhiteFang

8

teebo, le 25 sep 2002 à 18:50:44

Ba eu, c'est cher un billet pour la jungle? :-D
En fait, ta forme, c'est quoi?
C'est quoi son objet pere?
Ce que tu appelles fille est une sous forme ou une copie modifiee, pas un objet ou une classe...
Euh, je connais VB, je bosse dessus a longueur de journee et je suis meme paye pour ca :-D

ö,ö
\_/

Répondre à teebo

13

WhiteFang, le 25 sep 2002 à 19:45:00

;-))) Moi, je forme des développeurs.... Enfin, pas à longueur de journée, je développe aussi... Tu as été voir mon site ?
Ta "forme", ça peut-être une forme, toute baîite, dont les filles hériteront des propriétés/méthodes, d'où cette notion "d'héritage"... On pourrait dire "instanciation", mais ça fait trop pêteux, ce terme, à mon avis. Fô juste retenir que la notion d'héritage, c'est une récupération d'un modèle... Non ?
Wild and Free

Répondre à WhiteFang

9

Jeff, le 25 sep 2002 à 18:53:25

VB.Net c'est de la pure POO (pour peu qu'il existe une "pure" POO...). Jeff  --=[WM@CCM]=--

Répondre à Jeff

11

WhiteFang, le 25 sep 2002 à 19:34:27

Rhaa, Jeff, tu sais pas comment tu me fais plaisir.... Je me demandais si je n'avais pas été "oublié" dans un repli spatio temporel !!

Alors, mes mecs, hummm ?? ;-)))

Maintenant, va falloir dire à notre cher Honoré que VB aussi, c'est du POO !! Héhé... ;-))

Wild and Free

Répondre à WhiteFang

12

kalamit, le 25 sep 2002 à 19:40:39

Achtung ! Achtung !
Jeff a dit VB.NET !
Il a été dit plus haut que l'on faisait en VB (pas en .net) Textbox1 = "blabla", mais il me semble que l'on peut également faire TextBox1.text = "blabla", non ? Ou je me plante completement ?

Kalamit,
Je ponce donc j'essuie

Répondre à kalamit

14

WhiteFang, le 25 sep 2002 à 19:55:09

Bien sûr que tu peux !! C'est même recommandé !! Quand tu joue avec les objets, il faut (sauf via access, qui est spécial) spécifier la propriété... Sauf si bien sur tu fais un Setfocus avant, mais c'est pas "élégant" comme écriture...
Visual Studio, .Net sont des évolutions de l'idée originale, comme tous les autres langages, pas de panique, la phylosiphie reste la même, avec la prise en compte des nouvelles technologies, c'est tout...

Et quitte à me faire incendier, je vais vous dire un truc, les mecs : Pour moi, le meilleur moyen de débuter en langage objet, c'est le VBA Excel !! Facile, simple, bonne approche événementielle... Pour débuter, rien de tel !! Et je l'ai vérifié au fil de mes enseignements...

Wild and Free

Répondre à WhiteFang

15

teebo, le 25 sep 2002 à 20:06:10

Si je peux jouer les chieurs, en VB6, dis moi comment faire un bouton tout rond sans avoir a tout reecrire...
Alors que en que en smalltalk, pas de probleme, tu as la classe bouton, tu crees la sous classe bouton rond en changeant juste la forme et le reste, rien a faire...

De meme, a quel objet sont rattaches les fonctions +, -, MsgBox, ...?
En Smalltalk il y a un + qui prend un parameter pour tous les types interessants

Et le premier qui me dit que smalltalk est pas objet, il aura a faire a moi :-D

ö,ö
\_/

Répondre à teebo

16

ipl, le 26 sep 2002 à 00:22:23

LOL,

>Si je peux jouer les chieurs
L'as-tu fait exprès Teebo? sais-tu ce que signifie 'poo' en Anglais ?

@12C4
Ipl

Répondre à ipl

19

teebo, le 26 sep 2002 à 07:53:17

Pas fait expres mais je sais ce que ca veut dire :-D
ö,ö
\_/

Répondre à teebo

17

WhiteFang, le 26 sep 2002 à 01:32:38

En standard, tu peux pas, c'est vrai. Mias, qui t'empêche de faire 2 images, une bouton relaché, une bouton enfoncé, après, c'est de l'événementiel...
Sinon, pourquoi vouloir faire un bouton rond ? Un bouton rond, ça serait bien s'il y avait un convergence des appli vers ce type de bouton, mais jusqu'à présent, la caractéristique d'un bouton, partout, c'est bien d'être rectangulaire, ou carré... Tu chipotes, là...
;-)))
Wild and Free

Répondre à WhiteFang

20

teebo, le 26 sep 2002 à 07:55:36

La c est toi qui chipote, le probleme est de montrer que VB n est pas vraiment un langage objet, pas de discuter des interets des boutons ronds :-D

Ba ouais, mais tu ne peux pas le faire heriter de "Button"...CQFD, tu es oblige de redefinir ce qui existe => pas objet

ö,ö
\_/

Répondre à teebo

18

WhiteFang, le 26 sep 2002 à 01:48:43

Bref, les gars : Je suis content !! ;-)) On va pas se la jouer qui fait plus que les autres non plus, pour moi, l'important était de vous faire reconnaitre, come je l'ai lu sur d'autres post, que VB (Studio, .net...) ETAIT bien un langage de programmation orienté objet, c'est tout ;-)))
Tout cela pour dire qu'à partir du moment où l'on gère des objets, bin, c'est clair... Après, on peut jouer avec les fonctionnamités d'un tel ou tel autre, mais bon... Pour moi, l'important, c'est d'avoir un .exe qui booste. Et un bon cahier des charges... Après, c'est au développeur de choisir son outil selon ses connaissances, goûts, et aussi fonctionnalités proposés par la langage... En adéquation avec le cahier des charges...
Moi, j'aime bien VB, le C me gonfle avec sa syntaxe à la "mord moi le noeud", le pacal/fortran est dépassé, le cobol me sort par le trous de nez, l'assembleur m'use les doigts et mon clavier...
Mais avec ce que j'ai lu, promis, je vais voir ce que JAVA à dans le sac, et je vous dirais ce que j'en pense... ;-)))
Et pi les boutons ronds... ;-)) Je vais attendre qu'un client m'en demande pour y penser... ;-)))

PS : C'est un vrai plaisir de débattre, avec vous, les gars, j'aime bien ça, moi, argumenter et défendre un point ed vue, sans animosité, un vraie discussion, koa !! ;-))

PS1 (pas ibm) : Jeff, tu m'a pas répondu pour le lien sur mon site..

Wild and Free

Répondre à WhiteFang

21

teebo, le 26 sep 2002 à 07:57:55

NET, pas Studio non net...tu triches la :-D
Regarde aussi Delphi, si tu es fan de VB ca sera moins perturbant et en plus c est gratuit...contrairement a MS :-D

ö,ö
\_/

Répondre à teebo

22

sebsauvage, le 26 sep 2002 à 10:07:43

Ahum... je reviens un peu dans la discussion.

Désolé WhiteFang, je ne veux pas troller, mais je dois réagir:


Non. Je ne considère toujours pas VB (Studio, pas .Net) comme un langage objet, et pour plusieurs raisons:

1) Le simple fait de faire toto.titi = "truc" n'en fait pas un langage objet. Le toto.titi="truc", ça se fait aussi en C pour mettre une valeur dans une structure. ça n'est pas un critère de POO.

2) Non, on ne peut pas faire d'héritage en VB. Le simple fait de pouvoir dériver un objet graphique en un autre n'en fait pas un langage objet (si ma mémoire est bonne, ça fonctionne par *copie* de l'objet graphique (copie des attributs), pas par héritage du code.)
Il y a une différence énorme entre hériter du code d'une classe, et copier une structure pour la modifier.

Créé ta propre classe, et essai de la dériver. Je ne suis pas un spécialiste de VB, il est vrai, mais là je doute.

3) je n'ai jamais, *jamais* vu de polymorphisme en VB.
Par contre, je vois des variant partout (beurk), avec des test à la 'select case' pour lancer les bonnes méthodes.

4) Essayez donc de surcharger la moindre méthode (par exemple, créer plusieurs méthodes portant le même nom, mais avec des paramètres d'appel différents, ou bien re-définir une méthode d'une classe mère avec les mêmes paramètres).
Je vous souhaite bien du plaisir !


Je ne suis pas fanatique. Je serai plutôt du style "The right tool for the right job", comme on dit.

VB n'est pas mauvais en soi (on peut développer de très
bonne applications en VB), mais il donne de très mauvaise
habitudes de programmation, et l'ensemble me semble assez
lâche (un analyseur syntaxique qui ne gueule pas quand
une boucle n'est pas fermée, un 'compilateur' qui me produit
des exécutables qui me font des "Compile error" au moment de l'*exécution* (?!!), des librairies buguées dont on a pas les sources, la dépendance des EXE à un nombre important de DLL, etc.).


Basic est un langage conçu pour initier les débutants à la programmation (BASIC = Beginner's All purpose Symbolic Instruction Code).
Mais il faut reconnaître que depuis son invention, les méthodes de programmation ont nettement évolué (programmation orientée objet, programmation évènementielle, programmation assertionnelle, langages à machines virtuelles...).

Je considère donc que VB n'est pas, mais alors pas du tout adapté à l'aprentissage de la programmation dans un cadre professionnel.

Pour un particulier, ça se conçoit (encore que Delphi - soit di en passant - est gratuit.)


Pour Java, j'en suis revenu.
La théorie était bonne, la pratique est merdique
(langage strict, mais finalement lourd et empâté, et des machines virtuelles pas compatibles entre elles.)


Ceci dit, pour ta remarque sur le Cobol et l'assembleur, je suis 100% d'accord !
A mort le Cobol ! ;-D


Voilà voilà... j'ai essayé pas mal de langages différents, et je tombé sur Python et Delphi.
Ils sont un bon compromis entre proprété et efficacité.


Pour .Net, je finirai par m'y mettre... On verra ce que ça donne.



SP: WhiteFang, non rassure-moi, je n'ai pas vu "Site optimisé pour Internet Explorer 6", hein ? Dis-moi que j'ai cauchemardé ! :-[

Répondre à sebsauvage

23

sebsauvage, le 26 sep 2002 à 11:36:04

Je tenais à préciser que mon opinion se base sur VB6.
Je n'ai pas essayé VB7 (où une vrai POO est peut-être possible, à voir...)

Répondre à sebsauvage

24

blux, le 26 sep 2002 à 12:45:00
  • +1

Pour mettre mon grain de sel :

- le site que j'avais donné sur l'objet semble être une bonne piste puisque l'auteur intervient sur ce forum...
- COBOL, que vous villipendez tous, a sa version objet en norme 96.

et toc... ;-)


A+ Blux            "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

25

sebsauvage, le 26 sep 2002 à 13:15:05

COBOL, que vous villipendez tous, a sa version objet en norme 96.

Mouaips... et même en 96, avant que le Cobol objet ne sorte,
mon prof de Cobol me disait: "On peut tout faire en Cobol,
même faire le programme de calcul de bord du Mirage 2000."

Qu'est-ce que vous voulez qu'on réponde à de tels argument ?

:-|


Ouaips, on a rien répondu. :)

Répondre à sebsauvage

26

blux, le 26 sep 2002 à 13:23:38

...que peu importe le langage qu'on emploie, du moment que le compilateur optimise à mort, on peut (presque) tout faire avec (presque) n'importe quel langage... :-)

en fait, ma remarque n'avait pour objet (!) que de dire que le concept de POO se retrouve même là où on ne pensait pas le trouver.

ceci mis à part, excellent débat...

ça change de linux vs windows ;-)


A+ Blux            "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

27

teebo, le 26 sep 2002 à 13:28:53

Ca change et c est surtout plus civilise :-D
ö,ö
\_/

Répondre à teebo

28

WhiteFang, le 26 sep 2002 à 16:58:20

Ouaip !! Cool ce débat !! ;-))
J'ai bien fait de l'entâmaiye, une fois !! ;-))
Très instructif, en plus...
Hé hé, on peut faire l'acquisition de cible en cobol !! Ouarf !!
C'est ce que je faisais, à l'époque où j'étais DGA, mais pas en cobol !! Il fumait les herbes de provence, ton prof, sebsauvage ?!! ;D Remarque, pourkoi pas, avec 3/4 cray embarqués !! On les mets à la place des missiles et des réservoirs, ça devrait rouler (voler, je sais pas ;D)
Wild and Free

Répondre à WhiteFang

29

rem, le 26 sep 2002 à 21:53:33

Bravo WhiteFang !

Je ne sais pas si tu as raison vu que je n'ai rien pigé à tous ces posts, mais si c'est grace à toi que mon sucre est tout blanc alors bravo ! Quand je serai super fort en php je tenterai de faire du café bleu.

; )

Répondre à rem

30

sebsauvage, le 27 sep 2002 à 09:07:44

...et pour enfoncer le clou sur ce que j'ai dit:

Microsoft abandonne Visual Basic.

Il n'y aura plus de nouvelle version, plus de mise à jour, plus de correctif, plus de support technique et la doc disparaîtra dans les abîmes de MSDN (rigolez pas, on est abonnés à MSDN, et il nous est déjà impossible de trouver la doc de VB dedans: il n'y a plus que du .Net (...et du FoxPro, je rêve !)).


Vous vous engageriez, vous, sur une technologie que même son concepteur laisse tomber ?


Si c'est pour se retrouver dans la même situation que le Cobol, ça ne m'intéresse pas trop de progresser sur un langage dont la mort est annoncée.



J'ai l'air énervé ?
C'est parceque je travaille sur un site de commerce électronique qui a été développé en VB6+ASP, et on en chie comme des russes pour maintenir ce truc, avec toutes les emmerdes de VB par dessus (et une rustine par ci, et une rustine par là).

On est censés passer à .Net, mais ça va représenter une somme de travail considérable. On va devoir tout ré-écrire.

Au secours ! :-@


Bah finalement je devrais pas me plaindre, ça va nous permettre d'avoir du boulot encore pendant un bon moment ! :-D

Répondre à sebsauvage

31

teebo, le 27 sep 2002 à 09:25:01

Rassure toi, ici c est pareil, on en chie a cause e VB pour dvper notre appli et on va devoir tout traduire entre la version 1.4 et la 2.0 :-(((
Deja que c est un bo bordel...

ö,ö
\_/

Répondre à teebo

32

choubaka, le 27 sep 2002 à 09:26:45

Comme quoi il n'y a pas que des désavantages

Chouba
"Obsédé des travaux manuels non pratiquant"

Répondre à choubaka

33

 S.R, le 12 mar 2007 à 17:13:02

Bonjour,

Je déterre ce post pour 3 raisons.

1) approuver sebsauvage par rapport à la sélection du langage en adéquation avec la tâche à réaliser

2) confirmer que VB6 (langage sur lequel je travail jour (et nuits:))) possède les bases d'un langage objet mais n'en est pas un (cf polymorphisme et héritage)

3) défendre VB6 dans ce qu'on lui reproche de "malpropre"
Ce n'est pas le langage qui est malpropre, c'est le développeur.

Je peux vous dire que ce n'est qu'une question de discipline, et que jamais vous ne verrez un text1 = "tzaeaze" dans mon code.

Par ailleurs moi, quand je ne ferme pas une boucle le compilateur gueule ! :D

Enfin pour finir, je n'ai jamais été bloqué par VB6 en 2 ans de travail sur un métamodele qui exploite pourtant des données Oracle en grande quantité.

Voilà, a+

Répondre à S.R