Está en la página 1de 7

DIRECCIÓN GENERAL DE EDUCACIÓN TECNOLOGICO INDUSTRIAL Y DE SERVICIOS

CBTIS 103 CIUDAD MADERO TAMAULIPAS

CENTRO DE BACHILLERATO TECNOLOGICO INDUSTRIAL Y


DE SERVICIOS NO.-103 "FRANCISCO JAVIER MINA"

PROGRAMACIÓN ORIENTADA A OBJETOS

"U3,Desarrollo,Investigacion sobre los pilares de O.O.P"

Prof. Luis Eduardo Camarena Dávila

3 AMP

Alumno:
Suarez Atanasio Diego Armando

Miercoles 15 de Noviembre 2023


Pilares de la programación orientada a
objetos
Los pilares de la programación son los principios básicos que guían la
construcción y diseño de programas informáticos. Estos principios
proporcionan un marco conceptual para el desarrollo de software
eficaz, promoviendo la creación de sistemas robustos, mantenibles y
eficientes. En el contexto de la programación orientada a objetos
(POO), este es un verdadero pilar.

¿Cuáles son los pilares de la programación?


Abstraccion:
La abstracción es un pilar o característica de la programación orientada a objetos que va
a permitir que los objetos puedan interactuar sin necesidad de conocer los detalles del
funcionamiento. De esta forma, el enfoque se centra en aspectos relevantes de las
entidades. Podemos decir, de hecho, que estos aspectos son relativos, ya que van a
depender del enfoque con el que se analice. Para entender el concepto, vamos a pensar
que quiero modelar una escuela. Una escuela puede tener muchas características pero
con la abstracción me voy a basar o enfocar únicamente en las características que yo
necesito.
En la práctica, la abstracción se logra a través de dos conceptos principales:
Clases Abstractas: Se utilizan para definir una plantilla común que puede ser heredada
por clases concretas. Pueden contener métodos abstractos que deben ser implementados
por las clases derivadas.
Interfaces: Son conjuntos de métodos que las clases pueden implementar. Proporcionan
una forma de definir contratos sin especificar la implementación real.

La abstracción permite a los programadores centrarse en la funcionalidad principal de un


objeto sin preocuparse por los detalles internos irrelevantes. Por ejemplo, al modelar un
automóvil, la abstracción se centraría en aspectos esenciales como la capacidad de
conducción, el consumo de combustible y la velocidad, mientras que los detalles internos
del motor o el sistema de transmisión podrían ser abstraídos
Ejemplos:

Encender la tele , ajustar el volumen o cambiar el canal :

Encapsulamiento :
El encapsulamiento se presenta como el primer pilar, destacando por su capacidad para
ocultar la complejidad interna de los objetos. Este principio promueve la creación de
clases que actúan como unidades cohesivas, encapsulando tanto datos como los
métodos que operan sobre ellos. Al exponer solo lo necesario, el encapsulamiento
asegura la integridad de los datos y simplifica la gestión de cambios en la implementación
sin afectar otras partes del programa.
1. Datos:
- Los atributos de un objeto (como variables) se definen dentro de la clase.
- Estos atributos pueden ser privados, lo que significa que solo son accesibles desde
dentro de la propia clase.

2. Métodos:
- Las funciones o procedimientos que operan sobre los datos también se definen dentro
de la clase.
- Algunos métodos pueden ser públicos (accesibles desde fuera de la clase) y otros
privados (accesibles solo desde la propia clase).

3. Acceso Controlado:
- El acceso a los atributos y métodos privados se controla mediante modificadores de
acceso, como "public", "private" y "protected".
- Esto significa que ciertos aspectos internos de un objeto están ocultos al mundo
exterior, y solo se proporciona un conjunto específico de operaciones públicas para
interactuar con el objeto.

Ventajas del Encapsulamiento:

1. Seguridad: Al ocultar los detalles internos, se evita el acceso no autorizado y se mejora


la seguridad del código.

2. Modularidad: Facilita la modificación de la implementación interna sin afectar otras


partes del programa, promoviendo la modularidad y el mantenimiento fácil.
3. Facilita la Evolución Permite cambiar la implementación interna de una clase sin afectar
el código que utiliza esa clase, facilitando la evolución del software.

Ejemplo :
def obtener_nombre(self): return self.__nombre
def establecer_nombre(self, nuevo_nombre): self.__nombre = nuevo_nombre
def obtener_edad(self): return self.__edad

Polimorfino:
El polimorfismo, tercer pilar, otorga flexibilidad al permitir que objetos de diferentes clases
se comporten de manera similar. Existen dos formas de polimorfismo: el de tiempo de
compilación, logrado mediante la sobrecarga de métodos y operadores, y el de tiempo de
ejecución, alcanzado mediante interfaces y herencia. Esta capacidad de adaptación
facilita la creación de sistemas más genéricos y extensibles, contribuyendo a la
versatilidad del código.

Polimorfismo de Tiempo de
Compilación (Sobrecarga):
También conocido como sobrecarga de
métodos. Se refiere a la capacidad de un
mismo nombre de método ser usado
para realizar diferentes tareas
según el tipo o número de
parámetros.

Polimorfismo de Tiempo de Ejecución (Interfaces y Herencia): Se refiere a la capacidad


de objetos de clases relacionadas por herencia o implementación de interfaces de
responder a un mismo mensaje de manera diferente.
Ejemplo:
class Operaciones
{
int sumar(int a, int b)
{
return a + b;
}
double sumar(double a, double b)
{
return a + b;
}
}

Herencia:
La herencia es un principio fundamental en la Programación Orientada a Objetos (POO)
que permite la creación de nuevas clases basadas en clases ya existentes. En términos
sencillos, una clase derivada hereda atributos y métodos de una clase base, y luego
puede agregar o modificar esos elementos según sus propias necesidades. La clase
derivada se conoce como "subclase" o "clase hija", y la clase base como "superclase" o
"clase padre". La herencia facilita la reutilización de código y la organización jerárquica de
las clases.

La herencia permite crear una jerarquía de clases, donde las clases más específicas
heredan comportamientos y características comunes de las clases más generales. Esto
mejora la reutilización del código y facilita la organización y comprensión del diseño del
programa.

Ejemplo:
class Animal:
def __init__(self, nombre):
self.nombre = nombre
def hacer_sonido(self):

class Gato(Animal):
def hacer_sonido(self):
return "Miau"

Conclusion:
En colusión este tema sobre los pilares de la programación me pareció
un tema muy importante que todo programador debe de conocer para
poder programar de una mejor manera y tener amplio conocimiento
sobre el tema ya que nos muestra temas de mucha relevancia como lo
es la HERENCIA,POLIMORFISMO,ENCAPSULAMIENTO Y
ABSTRACCION todos estos conforman los pilares de la programación
orientada a objetos.

También podría gustarte