0% encontró este documento útil (0 votos)
21 vistas32 páginas

Clase One

El documento presenta una introducción a la Programación Orientada a Objetos (POO), explicando conceptos fundamentales como clases, objetos, encapsulamiento, herencia y polimorfismo. Se detalla cómo las clases actúan como plantillas para crear objetos, y se discuten los métodos de construcción y destrucción de instancias. Además, se aborda la importancia de la abstracción y el encapsulamiento en el diseño de software.

Cargado por

jr8574007
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas32 páginas

Clase One

El documento presenta una introducción a la Programación Orientada a Objetos (POO), explicando conceptos fundamentales como clases, objetos, encapsulamiento, herencia y polimorfismo. Se detalla cómo las clases actúan como plantillas para crear objetos, y se discuten los métodos de construcción y destrucción de instancias. Además, se aborda la importancia de la abstracción y el encapsulamiento en el diseño de software.

Cargado por

jr8574007
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Clase I

Francisco Javier González Gasca


Abril/2023
Agenda

 Presentación del
curso
 Programación
Orientada a Objetos
 Conceptos
Fundamentales
 Herencia,
Encapsulamiento
, Polimorfismo
¿Qué es la Programación Orientada a
Objetos?
 Es una manera de construir Software
basada en un nuevo paradigma.
 Propone resolver problemas de la
realidad a través de identificar objetos y
relaciones de colaboración entre ellos.
 El Objeto y el mensaje son sus
elementos fundamentales.
POO
¿Qué es lo que ves?
POO
¿Qué es lo que ves?
POO
¿Qué es lo que ves?
POO
¿Qué es lo que tienen en común?
POO
¿Qué es lo que tienen en común?
POO
¿Qué es una clase?

 Clase  Clasificación
 Clasificación en base a
comportamiento y atributos comunes
 Crea un vocabulario
 La forma en que nos comunicamos
 La forma en que pensamos
POO
¿Qué es una clase?

 Construcción Estática
 Describe:
 Comportamiento común
 Atributos [estado]
 Estructura de datos
 Incluye:
 Datos
 Funciones o métodos
POO
Constructor y Destructor

 Dos métodos de las clases


 Existen por defecto
 Constructor, inicializa valores
 Destructor, libera recursos al finalizar
la vida de una instancia de una clase
creada en memoria
 Existen constructores y destructores
por defecto
POO
¿Qué es un objeto?
POO
¿Qué es un objeto?
 Instancia de una clase
 Un objeto posee:
 Identidad: Relación única entre el objeto
del modelo y el ente de la realidad que
representa. Se implementa a través de un
id único en el modelo.
 Comportamiento: Resuelve un conjunto
particular de problemas a través de su
protocolo.
 Estado: Almacena información
 Fija
 Variable
POO
Demo
• Modelizando el mundo real
POO
Pilares de POO

Herencia Polimorfismo Encapsulamiento

Abstracción
POO
Abstracción
 Ignorancia selectiva
 Decide que es importante y que no lo es
 Se enfoca [depende] en lo que es importante
 Ignora [no depende] de lo que no es
importante
 Utiliza la encapsulación para reforzar la
abstracción
POO
Encapsulamiento

Acelera() 125
km
/ h
300 km/h
velocidad

Frena() 40 km
/h
POO
¿Por qué utilizar encapsulamiento?
 Dos grandes razones
 Control
 Cambio
POO
Encapsulamiento

 Los métodos
Acelera() son públicos:
son accesibles
desde fuera
velocidad  Los datos son
privados:
Frena() accesibles
desde dentro

Controlador del Motor


POO
Datos del Objeto
 Describe los objetos de forma individual
 Color: Azul
 Color 2: Gris
 Instrumental Digital
 Ventanas eléctricas
 4 asientos

 Color: Verde
 Color 2: Negro
 Instrumental digital
 2 asientos
POO
Datos Estáticos

 Describen información para todos los objetos


 Número de llantas: 4
 Capacidad del tanque: 40
litros
 Tipo de Transmisión:
Automática
POO
Métodos Estáticos

 Solo pueden acceder a datos


compartidos por todas las instancias
de la clase.
 Encapsula los datos estáticos
 Son invocados en la clase, no en el
objeto
 No es necesaria la creación de una
instancia para invocarlos
POO
Métodos Estáticos

llantas
tanque
transmision

NumeroLlantas()
CapacidadTanque()
TipoTransmision()

Automóvil
POO
Herencia

 Es “un tipo de” relación


 Relación “es un”
 Entre Clases Transporte

 Va de la generalización a la Acelera

especialización Frena

 Clase base Automóvil


 Clase derivada
 Hereda la implementación
POO
Jerarquías de Clase
Transporte

Marítimo Aire Nieve Tierra

DentroAtmosfera FueraAtmosfera 1-Persona N-Personas


POO
Jerarquías de Clase – Otro ejemplo

Cuentas

Cuenta Corriente Caja Ahorro

Común Sueldo
POO
Herencia Múltiple

 Singular: La clase hija deriva de una única clase


padre
 Múltiple: La clase hija deriva de varias clases padre
 No es soportada por todos los lenguajes
 Puede ser confusa
Nieve 1-Persona Terrestre
POO
Laboratorio
• Creando clases
POO
Polimorfismo y sobrecarga
 Polimorfismo: desconocimiento del cliente sobre la
clase concreta del objeto que brinda el servicio.
Esto me da libertad de intercambiar libremente el
objeto servidor.
 Sobrecarga: Definir más de un método por cada
mensaje, los tipos de los argumentos ayudan a
decidir a qué mensaje se invoca.
 Tareas similares son realizadas por métodos con
mismo nombre
 Suma
 Enteros
 Decimales
 Fracciones
 Simplifican la tarea del desarrollador, al no tener
que recordar distintos nombres para
comportamientos iguales.
POO
Polimorfismo

 La definición del método reside en la clase base


 La implementación del método reside en la clase derivada
 La invocación es resuelta al momento de ejecución
 Early binding
 Late binding

Auto
Acelera
Frena

Cohete
Acelera
Frena
Transporte

Acelera
Frena

Caballo
Acelera
POO

Frena
Clases Base Abstractas

 Existen solamente para que se


deriven de ellas
 No tiene sentido crear una instancia de
este tipo de clases
 Métodos abstractos
 Clases abstractas – Concrete classes
Automóvil
Color
Asientos
Transporte
Acelera
frena ?
POO
Resumen
 ¿Qué es la Programación Orientada
a Objetos?
 Clases y Objetos
 Métodos y Atributos
 Encapsulamiento
 Herencia
 Polimorfismo
POO

También podría gustarte