QUE ES LA PROGRAMACION ORIENTADA A OBJETOS
Paradigmas de programacion: Son los pasos a seguir, que nosotros utilizamos en programacion para poder lograr llegar a la solucion del problema. Basicaamente en terminos basicos son estilos o formas de pensar logicamente para resolver problemas.
Tipos de paradigmas en programacion: Existe una gran cantidad de paradigmas, pero esta vez veremos 3 principales:
POO: Es igual que decir, programación orientada a objeto. Entonces básicamente es su diminutivo
IMPORTANTE! Esta es la razon por la cual C++ es diferente a C, por que es capaz de ser programado atravez de objetos.
Programacion orientada a objetos o POO: La Programación Orientada a Objetos es un paradigma de programación, un estilo, una lógica, una organización, una forma de pensar para resolver problemas. Con este paradigma nuestras aplicaciones están basadas en objetos en lugar de comandos estructurados y en datos en lugar de lógica.
Ejemplo: Así como los carros están construidos a partir de objetos independientes (como llantas, motor, piezas del motor, entre otras), nuestras aplicaciones van a estar construidas a partir de objetos que pueden tener múltiples instancias pero todas ““heredan”” del mismo objeto (así como las llantas de los carros, cada carro tiene 4 llantas y cada llanta fue construida de la misma manera que las otras).
–> Pensar en nuestra aplicación como objetos independientes que componen la información y sus comportamientos nos aporta muchos beneficios. Por ejemplo:
IMPORTANTE Además, por trabajar con objetos separados, cada objeto debe funcionar de forma independiente y debe revisar su lista de dependencias; nos aseguramos de no tener ninguna dependencia de sobra o haciendo falta (por ejemplo: las llantas pueden seguir rodando sin un motor y las puertas pueden abrirse aunque las sillas no puedan inclinarse, todos los objetos son independientes).
Características de los objetos: En programación orientada a objetos las características no son mas que variables las cuales llamaremos atributos, y las acciones que puede realizar un objeto como por ejemplo un teléfono una de sus acciones es llamar, esto en programación lo llamamos método.
Que es una clase: A continuación un ejemplo gráfico:
Observación: Tenemos la imagen, que refleja a un mismo objeto, pero ambos tienen características distintas las cuales son su tipo de color y también puede ser el tipo de madera o material en el que fueron construidos.
Clase: Si nosotros quitamos todas las diferencias y dejamos únicamente las características que comparten, con esto podríamos crear un molde, entonces una clase es un molde, lo cual nos permitirá crear X cantidad de lapices totalmente iguales, lo cual nos permitirá crear objetos aparir de ciertos atributos de acuerdo sean sus requerimientos
Instancia: En programación a la creación de un nuevo objeto, se le denomina instancia.
Herencia: La herencia nos permitirá crear otras clases aparir de anteriores, como por ejemplo tenemos una clase para definir los héroes, ahora necesitamos una clase para definir a los mobs, a los héroes enemigos, etc etc. Utilizando la herencia podemos crear clases aparir de otras heredando sus características y similitudes.
Polimorfismo: Es la característica de un objeto de tomar varias formas, es decir cuando un tipo de dato hereda este puede tomar la forma y características del cual heredo.
–> Entonces en pocas palabras el polimorfismo es la capacidad de crear objetos de una misma clase hacer erencia a otras clases derivadas y que las mismas tengan diferentes usos
Polimorfismo en programación: Se utiliza cuando una clase herada a otra sus atributos y sus metodos, por ejemplo pasamos a tener la siguientes clases:
Explicación: Tenemos una clase madre, que comparte el atributo del área y el método de calcular área, ambas comparten los mismos parámetros pero, la función de calcular área no se puede hacer igual a la de los demás, con esto tendremos que modificar el bloque de código que se encuentra en la función calcularArea(). Dicha técnica se le llama:
Sobre escritura de método: Mejor conocido como polimorfismo. La sobre escritura de métodos nos permite re-difinir un método que heredamos para que este funcione de acuerdo a nuestras necesidades y no a lo definido en la superclase. Cuando en un objeto llamamos a un método el compilador comprueba si el método existe en nuestro objeto, si existe lo usa y si no existe en nuestro objeto entonces lo busca en la superclase. Esto ocurre así hasta que el compilador encuentra el método definido. El compilador busca el método de abajo a arriba.
Cuales son sus beneficios: Su beneficio primordial, es que mediante a la programación orientada a objetos podemos eliminar o reemplazar objetos sin necesidad de re-estructurar todo el programa, perdiendo mucho tiempo en el, puesto que por ejemplo si tenemos un carro y deseamos eliminarle la puerta de atrás, podemos hacerlo sin necesidad de que el motor de dañe.
–> Otro beneficio importante de la programacion orientada a objetos, es la facilidad de comprender cada uno de sus objetos puesto que los mismos estaran definidos para un uso como tal y sera mucho mas facil de definir que es lo que pasa con uno de ellos al momento de tener un error.
–> Tambien tenemos otro beneficio importante el cual se basa en que todos trabajan de forma distinta lo que quiere decir volviendo al ejemplo del carro si por x razon la puerta trasera del carro no abre, eso no implica que el motor encienda, por ende todos son objetos con sus funcionalidades independientes, pero señalando a un mismo fin, que en este caso seria resolver la necesidad del problema
–> Ademas tambien tiene un beneficio al poder trabajar en equipo un grupo de programadores esta trabajando sobre un mismo proyecto y uno de ellos rompe el codigo, el programa como tal seguira funcionando lo unico que se rompera sera el objeto, por ende sera mucho mas facil de localizar error.
BONUS Los programadores pasan el 80% leyendo codigo y el 20% cuando mucho escribiendo, siempre tenlo en mente!
Estaba buscando un resumen de los temas de P.O.O en el curso y este tutorial llegó a mí como un oasis en un desierto. ¡Muchas gracias!