Está en la página 1de 5

Nombre: Luis Hanssel Puello Valdez

matrícula: 2023-0254

Materia: Fundamentos de Programación orientada a objeto

Carrera: Ingeniería en Software

Temas a Tratar: Los cuatros pilares de la programación orientada a


objetos.
¿Qué es la programación orientada a objetos?

La programación orientada a objetos (POO) es un paradigma de programación que utiliza


objetos como elementos fundamentales para la construcción de programas. Un objeto es
una entidad que agrupa datos y las operaciones que se pueden realizar sobre esos datos.
En la POO, se define una clase como un modelo que describe las características y el
comportamiento de un conjunto de objetos.

A partir de una clase, se pueden crear instancias o objetos específicos que heredan las
propiedades y métodos de la clase.

Los pilares fundamentales de la programación orientada a objetos


son:

-Abstracción La abstracción es el proceso de identificar las características y el


comportamiento esenciales de un objeto y omitir los detalles irrelevantes. Esto permite crear
clases y objetos más simples y fáciles de entender

Ejemplo:

podemos ver que con una clase podemos realizar una abstracción de una entidad del
mundo real. Tomemos por ejemplo la clase carro que hicimos, esta tiene la posibilidad de
guardar datos relacionados a la marca y al año de salida al mercado del carro, pero, ¿Por
qué solamente estas dos informaciones? Un carro del mundo real tiene más propiedades,
como el color y el modelo. Sin embargo, debemos preguntarnos, ¿Son estas informaciones
relevantes para nuestro software?

Nuestra clase abstrae todo lo que representa un carro, tomando solamente lo que nos
interesa, descartando todo lo demás.

-Encapsulación La encapsulación es el ocultamiento de los detalles de


implementación de un objeto y sólo exponer una interfaz pública para interactuar con él.
Esto permite que los objetos sean independientes y reutilizables.

El encapsulamiento nos permite controlar quién puede ver y utilizar los distintos
módulos internos de nuestro sistema. En términos de clases, con el encapsulamiento
definimos el acceso a los miembros de la clase.

En C# Podemos utilizar modificadores de acceso para definir el control de agentes


externos a distintas partes de nuestro sistema, como clases, miembros de las clases,
interfaces, entre otros. Supongamos que tenemos una variable, llamada velocidad, la
cual queremos colocar en nuestra clase Carro, para indicar la velocidad en la cual se
desplaza un vehículo en particular. Sin embargo, queremos que solamente dentro de la
clase podamos ver y modificar el valor de dicha variable. Esto lo podemos hacer o con un
campo o con una propiedad. Hagámoslo con una propiedad:

El encapsulamiento en programación permite controlar el acceso y modificación de


propiedades de un objeto. En el ejemplo de la clase Carro, la propiedad Velocidad solo
puede ser modificada internamente a través de la función acelerar, lo que evita cambios no
autorizados desde el exterior.

- Herencia La herencia es la capacidad que tiene una clase de heredar las


características y el comportamiento de otra clase. Esto permite crear clases más complejas
a partir de clases más simples.

Compartir código a través de la herencia es una forma importante de optimizar proyectos de


software, permitiendo a una clase derivada obtener propiedades y funcionalidades de una
clase base. En el ejemplo de la clase Carro y Camión, ambos comparten conceptos como
velocidad y capacidad de acelerar, pero el camión tiene la peculiaridad de emitir un sonido al
ir en reversa. La herencia facilita la creación de clases más complejas a partir de clases más
simples al permitir la reutilización de código y la extensión de funcionalidades.
Vemos que tenemos 3 clases: Vehículo, Carro y Camión. Carro y Camión heredan de la
clase Vehículo. La relación de herencia se representa de esta manera:
La herencia en programación permite a una clase derivada como Carro heredar
funcionalidades y propiedades de una clase base como Vehículo. Las clases derivadas
pueden agregar sus propios miembros, como el método Encender Radio en Carro, y
modificar funcionalidades de la clase base marcando los métodos como virtuales y
utilizando override, como se muestra en el ejemplo de la clase Camión sobrescribiendo el
método Reversa.

-Polimorfismo polimorfismo es la capacidad que tienen diferentes objetos de responder


a un mismo mensaje de diferentes maneras. Esto permite escribir código más flexible y
reutilizable.
Esto permite que el método pueda comportarse de forma diferente dependiendo del tipo
concreto que se le pase como argumento. Es decir, un mismo método puede actuar de
manera distinta según el tipo de objeto que reciba como parámetro.

En resumen, el polimorfismo nos permite escribir código más genérico y reutilizable, ya que
podemos tratar diferentes tipos de objetos de manera uniforme, sin necesidad de escribir
código específico para cada tipo. Esto hace que nuestro código sea más flexible y fácil de
mantener, ya que podemos agregar nuevos tipos de objetos sin necesidad de modificar el
código existente.

También podría gustarte