Programacion Orientada A Objetos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

La programación orientada a objetos es un modelo de programación en el que el diseño de software se organiza

alrededor de datos u objetos, en vez de usar funciones y lógica. Se enfoca en los objetos que los programadores
necesitan manipular, en lugar de centrarse en la lógica necesaria para esa manipulación. Se basa en el concepto de
clases y objetos. Este tipo de programación se utiliza para estructurar un programa de software en piezas
simples y reutilizables de planos de código (clases) para crear instancias individuales de objetos.

La Programación Orientada a objetos permite que el


código sea reutilizable, organizado y fácil de mantener.
Sigue el principio de desarrollo de software utilizado
por muchos programadores DRY (Don’t Repeat
Yourself), para evitar duplicar el código y crear de esta
manera programas eficientes.

El primer y más importante concepto de la POO es la distinción entre clase y objeto.

Una clase es una plantilla. Define de manera Un ejemplo sencillo de un objeto, como decíamos
genérica cómo van a ser los objetos de un antes, podría ser un animal. Un animal tiene una
determinado tipo. Por ejemplo, una clase para edad, por lo que creamos un nuevo atributo de
representar a animales puede llamarse ‘animal’ ‘edad’ y, además, puede envejecer, por lo que
y tener una serie de atributos, como ‘nombre’ o definimos un nuevo método. Datos y lógica. Esto
‘edad’ (que normalmente son propiedades), y una es lo que se define en muchos programas como
serie con los comportamientos que estos pueden la definición de una clase, que es la definición
tener, como caminar o comer, y que a su vez se global y genérica de muchos objetos.
implementan como métodos de la clase
(funciones).
Consiste en hacer clases y crear objetos a partir de estas clases. Las clases forman el modelo a partir del
que se estructuran los datos y los comportamientos.
Encapsulación:
La encapsulación contiene toda la información importante de un objeto dentro
del mismo y solo expone la información seleccionada al mundo exterior.
Esta propiedad permite asegurar que la información de un objeto esté oculta
para el mundo exterior, agrupando en una Clase las características o atributos
que cuentan con un acceso privado, y los comportamientos o métodos que
presentan un acceso público.

Abstracción:
La abstracción es cuando el usuario interactúa solo con los atributos y métodos
seleccionados de un objeto, utilizando herramientas simplificadas de alto nivel
para acceder a un objeto complejo. El concepto de abstracción facilita el
mantenimiento de un código de gran tamaño, donde a lo largo del tiempo pueden
surgir diferentes cambios.

Herencia:
La herencia define relaciones jerárquicas entre clases, de forma que atributos
y métodos comunes puedan ser reutilizados. Las clases principales extienden
atributos y comportamientos a las clases secundarias. A través de la definición
en una clase de los atributos y comportamientos básicos, se pueden crear
clases secundarias, ampliando así la funcionalidad de la clase principal y
agregando atributos y comportamientos adicionales.

Polimorfismo:
El polimorfismo consiste en diseñar objetos para compartir
comportamientos, lo que nos permite procesar objetos de diferentes maneras.
Es la capacidad de presentar la misma interfaz para diferentes formas
subyacentes o tipos de datos. Al utilizar la herencia, los objetos pueden anular
los comportamientos principales compartidos, con comportamientos
secundarios específicos.
• Reutilización del código heredado: Cuando se diseñan correctamente las
clases, se pueden usar en distintas partes del programa y en diferentes
proyectos. La técnica de herencia ahorra tiempo porque permite crear una
clase genérica y luego definir las subclases que heredarán los rasgos de la
misma, de manera que no es necesario escribir esas funciones de nuevo.
Además, al aplicar un cambio en la clase, todas las subclases lo adoptarán
automáticamente.

• Mayor modificabilidad: Otra de las ventajas de la programación orientada a


objetos es que permite añadir, modificar o eliminar nuevos objetos o funciones
fácilmente para actualizar los programas, lo cual implica un ahorro de tiempo
y esfuerzo para los programadores.

• Facilidad para detectar errores en el código: En los lenguajes de


programación orientada a objetos no es necesario revisar línea por línea del
código para detectar un error. Gracias a la encapsulación los objetos son
autónomos, de manera que es más fácil abstraer un problema y saber dónde
buscar el error cuando algo no funciona bien.

• Modularidad: Una de las características de la programación orientada a


objetos más interesantes es la modularidad ya que así un equipo puede trabajar
en múltiples objetos a la vez mientras se minimizan las posibilidades de que un
programador duplique la funcionalidad de otro. El trabajo modular también
permite dividir los problemas en partes más pequeñas que se pueden probar
de manera independiente.

• Flexibilidad gracias al polimorfismo: El polimorfismo de la programación


orientada a objetos permite que una sola función pueda cambiar de forma para
adaptarse a cualquier clase donde se encuentre. De esta forma se ahorra
tiempo de programación y se gana en versatilidad.
1. Java:
• Define clases utilizando la palabra clave «class» y especifica atributos y
métodos dentro de ellas.
• Utiliza la herencia con la palabra clave «extends» para crear subclases
que hereden características de una clase base.
• Aprovecha las interfaces para definir contratos que las clases deben
implementar.
• Utiliza la encapsulación para ocultar los detalles internos de los objetos
y proporcionar una interfaz pública para interactuar con ellos.
2. C++:
• Define clases utilizando la palabra clave «class» y especifica atributos y
métodos dentro de ellas.
• Utiliza la herencia con los operadores de acceso «public», «private» y
«protected» para establecer la visibilidad de los miembros heredados.
• Aprovecha las funciones virtuales y la herencia múltiple para lograr
polimorfismo.
• Utiliza la encapsulación con los modificadores de acceso «public»,
«private» y «protected» para controlar el acceso a los miembros de una
clase.
3. Python:
• Define clases utilizando la palabra clave «class» y especifica atributos y
métodos dentro de ellas.
• Aprovecha la herencia utilizando la clase base entre paréntesis al definir
una clase.
• Utiliza la herencia múltiple y el polimorfismo de manera natural, ya que
Python lo permite.
• Aprovecha las propiedades y los decoradores para implementar la
encapsulación y controlar el acceso a los atributos de una clase.
4. C#:
• Define clases utilizando la palabra clave «class» y especifica atributos y
métodos dentro de ellas.
• Utiliza la herencia con los operadores de acceso «public» y «protected»
para establecer la visibilidad de los miembros heredados.
• Aprovecha las interfaces para definir contratos que las clases deben
implementar.
• Utiliza el polimorfismo utilizando la palabra clave «virtual» para los
métodos en la clase base y «override» en las subclases.

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy