Por su claridad manifiesta comparto este escrito.
CLASES Y OBJETOS PARA TONTOS.
El otro dia estuvimos intentando hacer alguna cosilla en Java, para lo cual los cuatro somos muy garrulos… y el que más Dan. Simplemente porque es un tio hecho a si mismo, y nadie le ha explicado nunca que es eso de la programación orientada a objetos.
Así que me puse a explicarle que venía a ser una clase, un objeto y esas cosas. No en Java, sino en general,el concepto, que realmente es lo unico que yo tengo claro… porque como he dicho para lo demás soy un garrulo.
Se lo explique con un ejemplo de coches… y ya que mañana hay premio de F1, pues aprovecho:
Una clase podría ser Fórmula 1. Esta clase tiene una serie a atributos, por ejemplo, tipo de neumáticos, color del coche, conductor, etc… Y a su vez unas funciones, por ejemplo, la función velocidad que te diga cuanto corre un coche, la función consumo, etc…
Pues ya tenemos una clase, asi de fácil… con un montón de atributos y funciones generales.
Y una vez que tenemos una clase, tenemos que crear objetos de esa clase. ¿Eso que significa? Pues que tenemos que definir, por ejemplo un objeto llamado Renault, que va a ser de la clase Fórmula 1. Por lo tanto, al definir el objeto Renault, tendremos que decirle que el conductor es Fernando Alonso, que usa neumáticos blandos, y su color es naranja. Y a la vez podemos definir otro objeto que también será de la clase Fórmula 1, pero este va a ser un objeto llamado McLaren. Cuyo conductor es Hamilton, y usa neumáticos duros, y su color es plateado. Y ya está.
Tenemos una clase, y dos objetos de esa clase. La gran ventaja estriba en que cuando queremos saber la velocidad de el coche Renault, o el coche McLaren, no tenemos que crear dos funciones distintas, sino llamar a la función velocidad(), desde el objeto del cual queremos saber la velocidad. (Dependiendo del lenguaje que usemos esto se hace de una forma u otra, en PHP sería algo así como McLaren->Velocidad(), en Java creo que es con un punto en vez de flechita).
Y ya está, así de sencillo. Con esto lo que nos ahorramos es escribir mil funciones, escribimos una, y sirve para todos los coches de la parrilla.
Además, una clase puede contener a otra. Así, por ejemplo, neumáticos podría ser otra clase, contenida dentro de Fórmula 1, con sus métodos y atributos concretos.
En fin… más o menos así se lo expliqué a Dan, y parece que lo entendió, espero que os sirva también a vosotros.
http://nosoyfriki.com/2009/06/clases-y- ... ra-tontos/