La programación orientada a objetos se refiere al concepto lenguajes como java y Python que utilizan objetos y clases en sus implementaciones. OOP tiene cuatro bloques de construcción principales que son, polimorfismo, encapsulación, abstracción y herencia., Hay otros paradigmas de programación como la programación procedimental en la que los códigos se escriben secuencialmente. Python y Java son lenguajes de programación multiparadigmáticos de alto nivel, lo que significa que admiten tanto la programación orientada a objetos como la programación procedimental. Un programador decide el paradigma a utilizar basado en su experiencia y los problemas que intenta resolver. Sin embargo, no hay controversia de que la OOP hace que la programación sea más fácil, más rápida, más dinámica y segura., Esta es una razón importante por la que Java y Python son los lenguajes de programación más populares en el mundo de hoy
si desea aprender Java y Python o cualquier otro lenguaje de programación orientado a objetos, debe comprender estos paradigmas de programación orientados a objetos que son un concepto relativamente fácil de entender. Echémosles un vistazo.
¿Qué es la Herencia?
en Java y Python, los códigos se escriben en objetos o bloques si está adoptando la metodología OOP., Los objetos pueden interactuar entre sí mediante el uso de las propiedades de cada bloque o la ampliación de las funcionalidades de un bloque a través de la herencia. La herencia garantiza que los códigos se reutilicen. Hay millones de bibliotecas Java y Python que un programador puede usar a través de la herencia. Las propiedades de una clase Pueden ser heredadas y extendidas por otras clases o funciones. Hay dos tipos de clases. Una es la clase padre o base, y la otra es la clase hija que puede heredar las propiedades de la clase padre. La herencia es un pilar importante en la programación orientada a objetos., Es el mecanismo por el cual las clases en Java, Python y otros lenguajes OOP heredan el atributo de otras clases
una clase padre puede compartir sus atributos con una clase hija. Un ejemplo de implementación de una clase padre está en DDL (Dynamic-link library). Un DDL puede contener diferentes clases que pueden ser utilizadas por otros programas y funciones
un ejemplo real de herencia es una madre y un hijo. El niño puede heredar atributos como altura, patrones de voz, color., La madre puede reproducir a otros niños con los mismos atributos también
Puede crear una función o clase llamada «Mover Robot», que controla a un robot para que se mueva. Y podría crear métodos y funciones en otros programas que pueden heredar la clase «mover Robot» sin reescribir los códigos una y otra vez. También puede extender esta clase heredándola y escribiendo algunos códigos más que le instruyan a un robot para que se mueva y también se ejecute en algunas circunstancias específicas utilizando la declaración if and else., Con la herencia, puede crear varios robots que heredarían los atributos de la clase principal «mover Robot», lo que garantiza la reutilización del código.
En resumen, la herencia se refiere a la relación entre las clases y el método, que es como un padre y un hijo. Un niño puede nacer con algunos de los atributos de los padres. La herencia garantiza la reutilización de los códigos de la misma manera que varios hijos pueden heredar los atributos de sus padres.,
Cuando queremos crear una función, método o clase, se busca una superclase que contiene el código o parte del código que queremos implementar. Entonces podemos derivar nuestra clase de la existente. En Java, hacemos esto usando la palabra clave «Extends», y en Python, lo logramos heredando los atributos de una clase llamando al nombre de la clase.
¿trabaja en operaciones?
¿sabías que una aplicación como NerdVision puede mejorar MTTR (Mean-Time-to-Repair)?,
Encapsulación
Este es un estilo de programación donde los detalles de implementación están ocultos. Reduce enormemente la complejidad del desarrollo de software. Con la encapsulación, solo se exponen los métodos. El programador no tiene que preocuparse por los detalles de la implementación, sino que solo se preocupa por las operaciones. Por ejemplo, si un desarrollador quiere usar una biblioteca de enlaces dinámicos para mostrar la fecha y la hora, no tiene que preocuparse por los códigos en la clase de fecha y hora, sino que simplemente usaría la clase de datos y hora mediante el uso de variables públicas para llamarla., En esencia, la encapsulación se logra en Python y Java creando variables privadas para definir clases ocultas y luego usando variables públicas para llamarlas para su uso. Con este enfoque, una clase puede actualizarse o mantenerse sin preocuparse por los métodos que la usan. Si está llamando a una clase en diez métodos y necesita hacer cambios, no tiene que actualizar los métodos completos, sino que actualiza una sola clase. Una vez que se cambia la clase, actualiza automáticamente los métodos en consecuencia. La encapsulación también garantiza que sus datos estén ocultos de modificaciones externas., La encapsulación también se conoce como datos ocultos.
La encapsulación se puede ver como un escudo que protege los datos de ser accedidos por código externo.
En esencia, la encapsulación une los datos y el código como una sola unidad e impone la modularidad.
Polimorfismo
Polimorfismo significa que existe en muchas formas. Las Variables, funciones y objetos pueden existir en múltiples formas en Java y Python., Hay dos tipos de polimorfismo que son el polimorfismo en tiempo de ejecución y el polimorfismo en tiempo de compilación. El tiempo de ejecución puede tomar una forma diferente mientras la aplicación se está ejecutando y el tiempo de compilación puede tomar una forma diferente durante la compilación.
un excelente ejemplo de polimorfismo en la programación orientada a objetos es el comportamiento del cursor. Un cursor puede tomar diferentes formas como una flecha, una línea, una cruz u otras formas dependiendo del comportamiento del usuario o del modo de programa., Con el polimorfismo, un método o subclase puede definir sus comportamientos y atributos mientras conserva parte de la funcionalidad de su clase padre. Esto significa que puede tener una clase que muestre la fecha y la hora, y luego puede crear un método para heredar la clase, pero debe mostrar un mensaje de bienvenida junto con la fecha y la hora. El objetivo del polimorfismo en la programación orientada a objetos es reforzar la simplicidad, haciendo que los códigos sean más extensibles y manteniendo fácilmente las aplicaciones.,
La herencia le permite crear jerarquías de clase, donde una clase base da su comportamiento y atributos a una clase derivada. Entonces usted es libre de modificar o ampliar su funcionalidad. El polimorfismo asegura que el método apropiado será ejecutado basado en el tipo del objeto que llama.
Los códigos de programa se ejecutarían de manera diferente en un sistema operativo diferente. La capacidad del Código del programa que exhibe diversos comportamientos a través del sistema operativo se conoce como polimorfismo en OOP. Puedes crear una clase llamada «Move» y luego cuatro personas crean animales que heredarían la clase move., Pero no sabemos el tipo de animales que crearían. Así polimorfismo permitiría a los animales a moverse, pero en diferentes formas basadas en las características físicas
crea un Caracol que hereda el movimiento de la clase, pero el caracol se arrastran
B, crea una Canguro que hereda el movimiento de la clase, pero el Canguro dará el salto
C crea un Perro que hereda el movimiento de la clase, pero los perros caminar
D crea un Pez que hereda el movimiento de la clase, pero los Peces se nadar.
El polimorfismo ha asegurado que estos animales se están moviendo pero en diferentes formas., Cómo se comportarían los programas no se conocería hasta el tiempo de ejecución.
los desarrolladores y las operaciones deben trabajar juntos para tener éxito.
la aplicación NerdVision reúne a estos dos equipos para hacer la vida mejor para todos
Abstraction
Abstraction en Java y Python es una metodología de programación en la que los detalles de los códigos de programación se ocultan al usuario, y solo se muestran las cosas esenciales al usuario. La abstracción se refiere a las ideas más que a los acontecimientos., Es como un usuario que ejecuta un programa (navegador Web) sin ver los códigos de fondo. La abstracción se logra en clases abstractas o en interfaz en Java y Python. NetBeans y Eclipse IDE implementan abstracción para Java mientras que Django implementa abstracción para Python.
un programador utiliza un entorno de desarrollo integrado para diseñar una interfaz de usuario sin preocuparse por cómo el IDE genera los códigos HTML. En esencia, abstracción muestra los detalles esenciales para el usuario solo.,
conclusión
la idea principal detrás de la Programación Orientada a objetos es la simplicidad, la reutilización del código, la extensibilidad y la seguridad. Estos se logran a través de la encapsulación, la abstracción, la herencia y el polimorfismo. Para que un lenguaje sea clasificado como OOP, debe tener estos 4 bloques OOP. La abstracción tiene que ver con mostrar solo el aspecto relevante para el usuario, por ejemplo, encender la radio, pero no es necesario saber cómo funciona la radio. La abstracción asegura la simplicidad. La herencia tiene que ver con métodos y funciones que heredan los atributos de otra clase., El objetivo principal es la reutilización de código que asegura que los programas se desarrollen más rápido. DRY (don’t Repeat yourself) es un concepto en herencia que implica que en un programa, no debe tener códigos diferentes que sean similares. En su lugar, tenga una clase y use otros métodos para llamarlos y extender las funcionalidades cuando sea necesario. El polimorfismo permite que el código del programa tenga diferentes significados o funciones, mientras que la encapsulación es el proceso de mantener las clases privadas para que no puedan ser modificadas por códigos externos.