Este tema tan solo sera teórico la
programación orientada a objetos o sus siglas
POO es un
concepto el cual es
importante de entender para casi cualquier lenguaje moderno. La programación orientada a objetos
consiste en que, en nuestro entorno, todo es un objeto y como cual tiene unas
propiedades, y unas
cualidades, el típico que suele ponerse es el de un coche.
Un coche seria nuestro objeto, el cual tiene algunas propiedades como su numero de ruedas, color, peso, numero de plazas, lo cual puede variar de un coche a otro; pero también puede acelerar, ir hacia delante, hacia atrás, o girar.
A las propiedades de nuestro vehículo vamos a llamarlas precisamente
propiedades o atributos, serán
definidas en nuestra clase, y podremos
ver o
editar sus
valores, dependiendo del objeto, y de la propiedad, en el ejemplo del coche, siempre va a tener 4 ruedas, con menos seria un triciclo o una moto, y con mas... seria algo extraño, por lo que si tenemos que definir la clase de nuestro coche siempre tendrá 4 ruedas, ese valor no tendría sentido que lo pudiéramos editar, seria solo visible, pero a la hora de declarar un nuevo objeto del tipo coche, si tendríamos que asignar un valor al numero de plazas, y al color, ya que cada modelo es distinto, lo normal seria asignar un valor por defecto, por ejemplo 5 plazas, que es lo más estándar pero podría tener 4, 7, 9 o quizás otro valor, esta propiedad seria fija, ya que nuestro coche no puede tener 4 plazas hoy y 9 mañana, pero se la pasaríamos nosotros al crearla, en cuanto al color, si tendría lógica que fuera editable, ya que podríamos pintarlo y cambiarle el color en cualquier momento.
Nuestro coche también tiene
métodos como es el de acelerar, frenar, girar... esto no seria ni mas ni menos que las
funciones que declaremos publicas de nuestro coche, es decir al apretar el pedal haz girar mas rápido el motor para ganar velocidad...
Otro concepto importante de la POO es la
herencia, nuestro coche es un vehículo por lo que coche
heredara todas las propiedades y métodos de la clase padre en este caso vehículo pero teniendo
algunos que le caracterizan y son únicos de el, por ejemplo, cualquier vehículo puede acelerar, frenar y girar; pero no todos tienen 4 ruedas, creo que las motos tampoco tienen marcha atrás, por lo que seria un método especial para coches.
Casi todos los lenguajes también tienen otra propiedad, que es el
polimorfismo esto quiere decir que la
función acelerar, por poner un ejemplo
puede ser declarada varias veces, pidiendo distintos parámetros
p.e: nombreFuncion(variable1);
nombreFuncion(variable1,variable2,variable3);
nombreFuncion(variable1, variable2);
Esto seria valido y a la hora de programar nos da mucha flexibilidad, ya que con el mismo nombre podemos llamar a varias funciones distintas, ejecutando siempre la que nos interese según el numero de parámetros PHP es el único lenguaje Orientado a Objetos que conozco que no admite polimorfismo.
Resto de temas:
Tema 8 - Programación Orientada a Objetos POO
Tema 7 - Funciones
Tema 6 - Bucles Repetitivos
Tema 5 - Usando condicionales
Tema 4 - Arrays
Tema 3 - Pensando con variables
Tema 2 - Pensando como Programadores
Tema 1 - ¿Que es la programacion?