Clase contra objeto

En la programación orientada a objetos, un clase Es una construcción que define una colección de propiedades y métodos. Puedes considerarlo como una plantilla. Por ejemplo,

 Elemento de clase public $ itemType; /* p.ej. esto podría ser "Libro" o "CD" * / precio público $; public function printPrice () echo "El precio de este $ this-> itemType es $ this-> price dollars.";  $ catch22 = nuevo artículo (); $ catch22-> itemType = "Libro"; $ catch22-> precio = 25; $ catch22-> printPrice (); / * salidas El precio de este libro es de 25 dólares. * / $ americanPrayer = nuevo artículo (); $ americanPrayer-> itemType = "CD"; $ americanPrayer-> precio = 22; $ americanPrayer-> printPrice (); / * salidas El precio de este CD es de 22 dólares * / 

Tenga en cuenta que en este ejemplo, $ catch22 y $ americanPrayer son 2 objetos. Los objetos son instancias de una clase. Comparten la estructura común que define la clase. Esta estructura común consiste en las propiedades ($ itemType y $ price en el ejemplo anterior) y los métodos (funciones; printPrice () en el ejemplo anterior) de la clase. Sin embargo, las propiedades de diferentes objetos pueden ser diferentes.

En el ejemplo anterior, el precio y el tipo de artículo son diferentes para 2 objetos de la misma clase. Pero ambos objetos tienen un método printPrice (), un precio propiedad y un tipo de artículo propiedad que puede ser utilizada.

Gráfica comparativa

Tabla de comparación clase versus objeto
ClaseObjeto
Definición La clase es un mecanismo de enlace de miembros de datos y métodos asociados en una sola unidad.. Instancia de clase o variable de clase.
Existencia Es la existencia lógica Es la existencia fisica
Asignación de memoria El espacio de memoria no se asigna, cuando se crea. Se asigna espacio de memoria, cuando se crea.
Declaración / definición La definición se crea una vez.. Se crea muchas veces como se requiera..

Casos especiales

En algunos lenguajes de programación, por ej. Python, todo es un objeto. Esto significa que las funciones, variables, instancias de una clase e incluso las clases reales son tratadas como objetos por el lenguaje de programación.