Classe vs objet

En programmation orientée objet, une class est une construction qui définit une collection de propriétés et de méthodes. Vous pouvez le considérer comme un modèle. Par exemple,

 classe Item {public $ itemType; / * par exemple, cela pourrait être "Livre" ou "CD" * / prix public $; fonction publique printPrice () {echo "Le prix de ce {$ this-> itemType} est de {$ this-> price} dollars."; }} $ catch22 = new Item (); $ catch22-> itemType = "Book"; $ catch22-> prix = 25; $ catch22-> printPrice (); / * sorties Le prix de ce livre est de 25 dollars. * / $ americanPrayer = new Item (); $ americanPrayer-> itemType = "CD"; $ americanPrayer-> prix = 22; $ americanPrayer-> printPrice (); / * sorties Le prix de ce CD est de 22 dollars * / 

Notez que dans cet exemple, $ catch22 et $ americanPrayer sont 2 objets. Les objets sont des instances d'une classe. Ils partagent la structure commune définie par la classe. Cette structure commune comprend les propriétés ($ itemType et $ price dans l'exemple ci-dessus) et les méthodes (fonctions; printPrice () dans l'exemple ci-dessus) de la classe. Cependant, les propriétés de différents objets peuvent être différentes.

Dans l'exemple ci-dessus, le prix et le type d'article sont différents pour 2 objets de la même classe. Mais les deux objets ont une méthode printPrice (), une propriété price et une propriété itemType qui peuvent être utilisées.

Tableau de comparaison

Tableau de comparaison des classes et des objets
Classe Objet
DéfinitionLa classe est le mécanisme de liaison des membres de données et des méthodes associées dans une seule unité.Instance de classe ou variable de classe.
ExistenceC'est l'existence logiqueC'est l'existence physique
Allocation de mémoireL'espace mémoire n'est pas alloué lors de sa création.L'espace mémoire est alloué lors de sa création.
Déclaration / définitionLa définition est créée une fois.il est créé plusieurs fois selon vos besoins.

Cas spéciaux

Dans certains langages de programmation, par exemple Python, tout est un objet. Cela signifie que les fonctions, les variables, les instances d'une classe et même les classes réelles sont traitées comme des objets par le langage de programmation.

Articles Connexes