07 06 2001 à 14:13 |
reflexion pour ceux qui ont du temps libre a revendre : selon vous, le php est-il un langage orienté objet ? <- notez le flou volontaire sur la version du php ;) bonne dicertation ;) |
|
07 06 2001 à 15:19 |
no ! ayé j'ai fini... |
Warning: A non-numeric value encountered in /home/piregwan/public_html/forum2/afficher_bannieres.php on line 314 |
08 06 2001 à 21:24 |
je sais pas, je cause pas bien le php....par contre, l'actionscript est définitivemnt un langage OO...yaaahouuuuuu! )) jtenais juste à dire ça salut gwanouch <img src=../commentaires/smile_clindoeil.gif align=absmiddle> |
Warning: A non-numeric value encountered in /home/piregwan/public_html/forum2/afficher_bannieres.php on line 314 |
10 06 2001 à 15:30 |
salut mon gagounet !! peut-être une définition pertinente du langage OO nous aurait aidé pour poursuivre plus avant cette discussion passionnante haha <img src=../commentaires/smile_clindoeil.gif align=absmiddle> {fleche1} {fleche1} http://www.praktica.net target=_blank> http://www.praktica.net |
|
16 06 2001 à 18:44 |
selon moua, (et surtout selon ce que j'ai lu:-))....la POO est basée sur 3 grands principes: 1.abstraction 2.encapsulation: on a des objets, qui possèdent des méthodes et des propriétés... exemple: un objet "humain" possède une propriété "soif" qui est définie par la méthode "boire"...En appellant la méthode "boire" on agit sur la propriété "soif". 3.classes et instances: on a une classe "internautes" qui possèdent tous une propriété "soif" et une méthode "boire"... Mais il y a plusieurs instances de la classe "internautes" parmi lesquels l'instance "piregwan" ou l'instance "gag".... voila pour une brève définition.... dans flash, on a des classes prédéfinies (Array, Color, Date,XML, MovieClip (ce dernier est un peu particulier) etc...) qui possèdent méthodes (split() est une méthode de la classe Array) et propriétés (_xscale est une propriété de la classe MovieClip)...Tout ceci étant évidemment éminemment instantiable et extensible.... Tu peux par exemple créer de nouvelles classes en instantiant la super classe Object: nouvelleClasse = new Object(); Et une classe peut hériter des propriétés et méthodes d'une autre grâces aux prototype et __proto__, etc...... bref, l'actionscript EST un langage OO....pour le PHP, j'en ai aucune idée:-) |
Warning: A non-numeric value encountered in /home/piregwan/public_html/forum2/afficher_bannieres.php on line 314 |
18 06 2001 à 08:31 |
Salut, Selon que j'ai lu dans un bouquin sur le PHP (je m'y mets sérieusement ;) ) ) Le PHP version 4 est un POO puisqu'il utilise les principes que gagounech a cité précédemment mais il me semble que le polymorphisme (ce doit être les classes et instances) est aussi de la partie. En bref : A partir de sa version 4 le PHP est bien un langage orienté objet.. Moi je trouve que c'est un C++ adapté au web. Vous en dites koi ? @+ |
|
18 06 2001 à 16:52 |
angel, peux-tu nous éclairer sur le polymorphisme?....bon, je n'ai po fé des masses de grec, mais je comprends quand même vaguement ce que le mot signifie: une chose polymorphe est une chose qui possède ou qui peut prendre plusieurs formes...bon, ouala pour la linguistique...mais je ne comprends pas bien ce que ça implique au niveau de la definition d'un langage OO, peux tu nous en dire d'avantage stp? l'instance d'une classe c'est...en quelque sorte une manifestation "physique" de celle-ci: genre on a une classe "prophètes" dont jésus et les autres sont des instances (notez la subtilité, j'évoquais la boisson ds mon premier post, maintenant je passe à la religion, tout cela évidemment illustre bien la première caractéristque du langage OO: l'abstraction:-)))...bref, le polymorphisme serait donc le fait que les instances d'une même classe peuvent prendre plusieurs formes?... Je suis un peu sceptique, si on considère la nature abstraite de la POO, un terme se référant directement à la forme me semble incongru.... Donc, je ne comprends pas <img src=../commentaires/smile_happy.gif align=absmiddle> ...c'est ca, je ne comprends pas comment un terme aussi "concret" que polymorphisme s'applique à un concept aussi abstrait... J'attends donc qu'on m'éclaire:-), avis aux amateurs, marchi <img src=../commentaires/smile_happy.gif align=absmiddle> a+ J. PS: gwanou, un champ texte de 3 lignes c'est VRAIMENT TROP PETIT pour répondre ;) |
Warning: A non-numeric value encountered in /home/piregwan/public_html/forum2/afficher_bannieres.php on line 314 |
19 06 2001 à 12:01 |
Le polymorphisme signifie qu'une fonction se voit attribuer le même nom dans l'ensemble de la hiérachie des objets mais que la fonction fait elle même l'objet de différentes implementations dans chacune des classes. Une telle fonction ne peut être appelée avec des paramètres entiers une fois et une autre fois avec des paramètres de type tableau. Ca c'est dixit le bouquin et c'est assez clair. Le PHP ne prend pas le polymorphisme dans ce sens strict vu que le type de la valeur retournée par une fonction et celui de ses paramètres ne sont pas déclarés. Il est vrai que le typage des données sous PHP est ma fois un peu déroutant au départ mais on s'en accomode très vite non ? <img src=../commentaires/smile_clindoeil.gif align=absmiddle> Voilou Gagounech j'espère t'avoir éclairé enfin le bouquin plus que moi parce la POO ca me déroute {fly} |
|
19 06 2001 à 16:38 |
je vais répondre je vais répondre ! si si gagounet ^^ |
|
22 06 2001 à 12:29 |
salut concernant l'encapsulation par exemple, c'est partiellement vérifié en php : il y a des classes certes, avec des instances, des attributs (variables) et des méthodes (fonctions) dont le constructeur. en passant, il n'existe pas de destructeur en php, on libère simplement la mémoire. mais l'encapsulation suppose aussi ( définition ) que les attributs et les méthodes d'un objet ne seront pas accessibles avec le meme niveau de sécurité (public, privé et protégé - c++ et java). ce principe n'est pas vérifié en php, tous les attributs sont accessibles publiquement. concernant l'héritage, php l'a adopté aussi du c++. une classe fille peut hériter d'une classe mère ( syntaxe empruntée au java : extends ). cependant l'héritage mutiple n'est pas possible. encore une limitation par rapport à la définition d'origine. encore une autre limitation concernant l'héritage : dans une classe fille, le constructeur de la classe mère n'est pas appelée implicitement, il faut l'implémenter a chaque fois moitié d'héritage quoi ! polymorphisme : non implémenté. autre limite : il est très difficile de transmettre un objet php d'une page a une autre. il faut utiliser un parser qui va transformer l'objet en un tableau et un deparser dans l'autre page qui va reconstruire l'objet a partir du tableau. extremement pénible. derniere remarque mais celle-ci ne s'appuie sur aucune def, que sur le bon sens et mon jugement perso : l'utilisation d'un langage orienté objet ne suppose-t-elle pas une certaine persistence des données ? un objet ne devrait pas pouvoir etre perdu non ? or en php, c'est pas parce que j'utilise des objets que ca va garantir quoi que ce soit au niveau de la cohérence et de la persistence des données, rien ne garantit que je ne pourrai pas les perdre ou les dégrader. je ne vois ca dans aucune def mais ca me semblait important ^^ conclu : ni php3 ni php4 ne sont des langages OO parce qu'il y a trop de laxisme dans leur approche d'un POO selon la définition même. les principes memes qui font d'un langage x un langage dit objet ne sont pas entierement respectées en php, surement dans les versions a venir mais pas pour l'instant si l'on s'en tient aux définitions strictes du poo. nb gagounet : jesus n'est pas un prophète, c'est un messie. le messie est par définition le libérateur envoyé par dieu sur terre. les prophètes sont bien en dessous, c'est le messie himself qui les envoit pour faire parler de lui sur terre. pour schématiser la pyramide hiérarchique si tu veux, dieu avait envie qu'on parle de lui sur terre alors il a envoyé son messie jesus mais personne connaissait jesus alors il a d'abord envoyé des prophètes pour faire connaitre le messie qui allait parler ensuite de lui. dieu est un mégalo ^^ je suis sur qu'il y a des compteurs partout sur son site et des cookies ^^ qu'il vienne ici meme sur ce forum démentir s'il l'ose ^^ concrenant l'actionscript, désolé de ne pouvoir t'en dire plus, je surnage {yeux} nb angel : "Il est vrai que le typage des données sous PHP est ma fois un peu déroutant au départ mais on s'en accomode très vite non ?" que veux-tu dire ? je ne trouve pas. les variables n'ont pas besoin d'etre déclarées et le typage est sensiblement le meme que celui qu'on connait au travers de langages tels que C et C++ non? content d'avoir pu discuter le bout de gras avec vous ^^ |
|
22 06 2001 à 12:41 |
Ce que je voulait dire par typage c'est que la déclaration justement n'est plus a faire avec des int, char et tout le bazar.On peut très bien utiliser une variable en tant qu'netier et 2 lignes plus bas en tant que chaine de caractères. Voilou c'est tout <img src=../commentaires/smile_oeil1.gif align=absmiddle> lol la précision sur jésus {fly} |
|
22 06 2001 à 13:01 |
l'absence de typage ne me déroute pas plus que ca, bien au contraire, ca simplifie le travail ^^ oui oui je te vois venir gagounet ;) fumiste que tu vas dire haha a+ |
|
Pour répondre à ce sujet (et notifier automatiquement son auteur), cliquez sur le bouton REPONDRE A CE SUJET. Si vous voulez en plus avertir de votre réponse une personne qui a participé à ce sujet, cliquez sur le bouton en face de son intervention. Enfin si vous voulez inviter quelqu'un à réagir, utilisez les appeaux ci-dessous. Seuls les membres logués peuvent utiliser les appeaux et seuls les membres actifs peuvent être appeautés ^^. Bonne notification ! Vous n'êtes pas membre ou vous n'êtes pas logué(e) ou les appeaux sont désactivés dans votre profil. Vous ne pouvez pas utiliser les appeaux. |