Voici quelques mots de vocabulaire qu’il peut être utile de connaître pour s’y retrouver en programmation orientée objet. Je complèterai cette liste au fil du temps. (en fonction de mes souvenirs et de mes découvertes) * __Classe__ : Permet de définir la structure d’un objet qui pourra ensuite être utilisé plusieurs fois avec des options différentes, et dupliqué à loisir par le biais de classes filles. Mot clef : @@class@@ * __Instance__ : Une classe définie et chargée. Une instance (un objet) est donc utilisable concrètement, alors qu’une classe. Mot clef : @@new@@ * __Objet__ : Instance d’une classe * __Attribut ou Propriété__ : Variable d’une classe. Mot clefs : @@var@@ ou @@const@@ * __Méthode__ : Fonction d’une classe. Mot clefs : @@function@@ * __Surcharge ou polymorphisme Ad hoc__ : Permet de définir des méthodes avec le même nom et ayant des fonctionnalités similaires (ex : @@afficher()@@, @@supprimer()@@) dans des classes héritant d’une même classe mais n’ayant pas d’autres liens entres elles. On parle ainsi de surcharge d’une méthode lorsque l’on redéfinie une méthode qui avait déjà été définie dans une classe parente. Ex : fonction @@trier()@@ qui fonctionnera pour trier des livres ou des CD sans que le programmeur se souci du nom de la méthode. * __Attribut ou méthode magique__ : Attribut ou méthode commençant généralement par deux underscores (@@__@@) , étant apparu dans PHP 5, et ayant des fonctionnalités impossible à coder « à la main » comme par exemple le déclenchement d’une méthode lors de l’instanciation d’une classe ou la suppression d’une instance. Ex : @@__construct,@@ @@__clone@@, @@__toString@@ * __Méthode prédéfinie__ : Méthode déjà définie par PHP. Ex : @@get_parent_class@@, @@class_exists@@ * __Héritage__ : Notion permettant qu’une classe (dites fille) hérite des attributs et des méthodes d’une autre classe (dites parente). Mot clef : @@extends@@ * __Constructeur__ : Méthode permettant de créer un objet en instanciant une classe. Mot Clef : @@__construct($params)@@ * __Interface__ : Définie une liste de méthodes que doit contenir les classes qui implémentent cette interface. Mot clef : @@interface@@
Catégories
- Apache (6)
- Avent (14)
- C / C++ (5)
- CMS (16)
- Geekeries (41)
- HTML et CSS (6)
- Informations (12)
- Java (26)
- Javascript (8)
- L'anecdote du week-end (4)
- PHP (30)
- PHP objet (20)
- Projets (4)
- Référencement (4)
- SQL (9)
- XML (3)
- XMPP (4)
Tags
30 minutes Android Anecdote Ant Apache attribut C class CMS constructeur CSS date design Dotclear Eclipse erreur Expression Google Java Javascript Joomla jQuery Ligne de commande Linux Maven MySQL méthode PgSQL PHP POO Projet public regex Référencement SEO Shell SQL ssh tutoriel Url Rewriting Wallpaper Windows Wordpress XHTML XML
Yo BN, une question… Une classe au final, est-ce qu’on pourrait définir un peu ça comme étant une structure en C. Ca semblerait bizarre vu qu’en C on dispose déjà de structures, et qu’on parle pas vraiment de POO. Mais d’après tout ce que j’ai lu sur le sujet, c’est de ça que ça se rapprocherait le plus.
Au fait, j’aime beaucoup le concept du blog, et son design aussi
.
Hmm, j’ai envi de dire : oui et non. Puisqu’en C, dans ta structure tu définies plusieurs variables (du type que tu veux, et ça peut être un pointeur vers une autre variable) que tu remplis ensuite comme tu veux.
Alors qu’une classe en PHP (et j’imagine en C++, j’en n’ai jamais fait, mais je crois que le C++ c’est de l’objet) tu définies des variables (attributs) que tu peux modifier (ou non) à l’extérieur de l’objet (une instance de la classe) et aussi des fonctions (méthodes) qui font tout ce que tu veux et encore plus.
Moi, ça me fait plus penser aux modules en C (ou en programmation en général), je ne sais pas si tu en as entendu parler. Mais en gros, lors de la phase de réflexion, tu sépares ton gros programme en différentes parties que sont tes modules (contenant des fonctions autre que main(), et pourquoi pas des variables comme des constantes) et, une fois que tu les as codé, tu les assembles tous à l’aide d’une fonction main() pour obtenir au final ton gros programme qui marche bien.
Je t’avouerais bien que je commence à bien comprendre le concept de classes pour des parties de site, mais j’ai encore du mal à voir comme agencer tes classes dans un site tout en PHP objet.
Merci pour le blog ^^ Quant au design, il n’est pas de moi, j’ai juste modifié 2-3 babioles et j’espère bien continuer dans cette voie !