03 B Principios Diseno OO

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

Principios de diseño orientado a

objetos

Semana 3b

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Agenda
• Paradigma orientado a objetos (OO)
• Principios de OO
• Abstracción
• Encapsulamiento
• Herencia
• Polimorfismo

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Paradigma orientado a objetos

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Paradigma orientado a objetos (OO)
• Es un enfoque en el que las abstracciones fundamentales en el
sistema son objetos independientes.
• Ian Sommerville
• Un objeto es una instancia de una clase.
• El paradigma orientado a objetos permite organizar un software
como una colección de objetos que consisten de datos y
comportamiento.
• Los principios básicos de OO son:
• Abstracción
• Encapsulamiento
• Herencia
• Polimorfismo
Cortesía: Munish Chandel, What are four basic principles of Object Oriented Programming?

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Principios de OO

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Abstracción
• Abstracción significa enfocarse en las características
esenciales de un objeto a fin de definir límites conceptuales
para un observador.
• Por ejemplo, al diseñar una clase Estudiante, se consideran
atributos como número de matrícula, dirección, nombres;
pero se ignoran otras características como pulso sanguíneo,
tamaño del calzado ya que son irrelevantes para la
perspectiva de la institución educativa.

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Encapsulamiento
• El encapsulamiento permite ocultar la implementación del
objeto de tal manera que no se necesita conocer cómo
trabaja el objeto.
• Todo lo que necesitamos es entender su interfaz.

Cortesía: Dr. Derek Molloy, Introduction to Object-oriented Programming

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Encapsulamiento

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Herencia
• La herencia permite que una clase herede comportamiento
o atributos desde otra clase más general.
• La relación de herencia se describe como una relación “es del
tipo de”.
Animal

Herbívoro Carnívoro

Omnívoro

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Polimorfismo
• El polimorfismo permite tratar a objetos de una clase
derivada como objetos de su clase base.
• El polimorfismo permite sobreescribir métodos en clases
derivadas para cambiar el comportamiento original
heredado desde la clase base.
• No confundir con sobrecarga, que es la capacidad que tienen los
objetos de una clase de responder a un mismo mensaje o evento
en función de los parámetros utilizados durante su invocación.

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Antes de finalizar

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Puntos para recordar
• Objeto vs. Clase
• ¿Qué es el paradigma OO?
• Principios de diseño en OO

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Lectura adicional
• Robert Martin, “Clean Architectures”
• Chapter 5: Object-Oriented Programming
• Perdita Stevens, “Using UML”
• Chapter 2: Object Concepts
• Pressman and Maxin, “Software Engineering”
• Chapter 12: Design Concepts

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021
Próxima sesión
• Principios de diseño aplicados al desarrollo.
• Diseño de arquitectura modelo vista controlador.

Diseño de Software
Unidad 2 MSc. Jurado, Dr. Mera
2021

También podría gustarte