Conceptos Básicos Del Paradigma Orientado A Objetos: MC Beatriz Beltrán Martínez

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 22

Conceptos básicos

del paradigma
orientado a objetos
MC Beatriz Beltrán Martínez

Primavera 2015
Introducción

Primavera 2015
• Crisis del software  programación estructurada

FCC - BUAP
• Problemas con la programación estructurada

BBM
• Sintácticos:
a) Identificadores duplicados.
b) Incompatibilidad de tipos.
c) Incompatibilidad en el número de argumentos en un
llamado a subprograma.

27
Introducción

Primavera 2015
FCC - BUAP
• Lógicos:
a) Variables “globales” no iniciadas.

BBM
b) Variables “globales” modificadas accidentalmente,
c) Argumentos de subprogramas pasados por referencia
creyéndose que era por valor.
d) Modificación del código por otro(s) grupo(s) distinto(s) al
que lo creó.

28
Introducción

Primavera 2015
• La programación estructurada tradicional se basa

FCC - BUAP
fundamentalmente en la ecuación de Wirth:

BBM
Algoritmos + Estructuras de Datos = Programas

• Esta ecuación significa que en la programación estructurada u


orientada a procedimientos los datos y el código se trata por
separado y lo único se realiza son funciones o procedimientos
que tratan esos datos y los van pasando de unos a otros hasta
que se obtiene el resultado que se desea.
29
Solución

Primavera 2015
Programación orientada a objetos
• En lugar de tratar de modelar un problema en algo familiar a la

FCC - BUAP
computadora ahora se trata de acercar la computadora al
problema.
• Es decir, modelar la realidad del problema a través de

BBM
entidades independientes pero que interactúan entre sí y
cuyas fronteras no estén determinadas por su instrumentación
computacional sino por la naturaleza del problema. Estas
entidades serán denominadas objetos.
• Resolver problemas consiste en definir objetos y sus acciones y
entonces invocar las acciones enviando mensajes a los objetos
que ocultan las características internas de cómo llevan a cabo
30
estas acciones
Solución

Primavera 2015
• La Programación Orientada a Objetos, POO (OOP, Object
Oriented Programming, en inglés), es una técnica de

FCC - BUAP
programación cuyo soporte fundamental es el objeto.
• Un objeto es una extensión de un Tipo de Dato Abstracto
(TDA).

BBM
• Un TDA es un tipo definido por el usuario, que encapsula un
conjunto de datos y las operaciones sobre estos datos.
• A la hora de definir TDA’s (u objetos) se usa un concepto que
ayuda a representar la realidad, la abstracción.
• La diferencia entre el concepto de TDA y el de objeto radica en
que existen dos procesos con los que se forma el núcleo
principal de la programación orientada a objetos, estos son la 31
herencia y el polimorfismo.
Principios de la POO

Primavera 2015
• Programar en un lenguaje orientado a objetos es definir clases
que expresan una determinada funcionalidad la cual es común

FCC - BUAP
a todos los individuos de la clase.
• A través de esta funcionalidad los objetos dan respuesta a las
solicitudes (mensajes) que les envían otros objetos.

BBM
• Las clases deben ser lo suficientemente CERRADAS como para
que cada objeto pueda ocultar información (datos) que lo
caracteriza como individuo.
• Las clases deben ser lo suficientemente ABIERTAS para permitir
la reutilización, adaptación y extensión de las mismas a nuevas
funcionalidades sin correr el riesgo de afectar el
funcionamiento de lo que ya es correcto.
32
• Principio ABIERTO-CERRADO  piedra angular de la POO
Principios de la POO

Primavera 2015
• Principio de Parnas u ocultamiento. No permitir que los

FCC - BUAP
usuarios modifiquen ni la representación de la información ni
las operaciones sobre esa información.
• Principio de compartir comportamiento. Reutilizar código, no

BBM
reinventarlo.

• Los mensajes entre los objetos son síncronos, al conjunto de


mensajes que responde un objeto le llamamos protocolo.
• Un cálculo en la POO se lleva a cabo mediante el envío de
mensajes entre objetos.
33
Lenguajes de POO

Primavera 2015
• Lenguajes de POO

FCC - BUAP
LISP SMALLTALK
SIMULA

BBM
• Lenguajes de POO
• Puros: Smalltalk, Eiffel, Actor
• Híbridos: C++, Objetive-C, Object-Pascal, Java

Smalltalk Java
34
Conceptos Básicos de la POO

Primavera 2015
• Objeto: Abstracción del mundo real, en términos
computacionales, es un ente encapsulado que contiene datos

FCC - BUAP
y métodos, y que es capaz de recibir mensajes del exterior.
Tiene un estado y una cierta identidad. Es la instancia de una
clase.

BBM
Datos

Métodos
(Comportamiento)

• Clase: Conjunto o colección de objetos que tienen en común


estructura, comportamiento y características. Es un tipo 35
definido por el usuario.
Conceptos Básicos de la POO

Primavera 2015
• Método: Es la operación que se puede efectuar sobre los

FCC - BUAP
campos de un objeto (datos). Cuando el método es invocado se
dice que se envía un mensaje al objeto a través del método, es
esta la forma como el objeto cambia su estado.

BBM
• Identidad: Propiedad con la cual se puede distinguir un objeto
de otros objetos (su nombre).

• Datos (atributos): Campos del objeto que representan


características bien definidas de un objeto.
36
Conceptos Básicos de la POO

Primavera 2015
• Encapsulamiento u ocultamiento: Es un recurso para poder

FCC - BUAP
manejar la abstracción. Nos permite ver a los datos y a las
operaciones como una unidad, oculta detalles de
implementación.

BBM
• Herencia: Es un mecanismo por el cual, una clase de objetos
puede expresarse como un caso especial de una clase más
general, con lo cual incluye automáticamente toda la definición
de datos y métodos de la clase genera

37
Conceptos Básicos de la POO

Primavera 2015
Clase Base Clases Bases

FCC - BUAP
BBM
Clases Derivadas Clase Derivada o
Subclase

Herencia Simple Herencia Múltiple


38
Ventajas de la POO

Primavera 2015
• Las ventajas más importantes de la programación orientada a

FCC - BUAP
objetos son las siguientes:
• Mantenibilidad: Facilidad de mantenimiento.

BBM
• Modificabilidad: Facilidad para modificar los programas.
• Reusabilidad: Los objetos, si han sido correctamente
diseñados, se pueden usar numerosas veces y en distintos
proyectos.
• Fiabilidad: Los programas orientados a objetos suelen ser
más fiables ya que se basan en el uso de objetos ya
definidos que están ampliamente testados.
39
Introducción al
Lenguaje Unificado
de Modelado
MC Beatriz Beltrán Martínez

Primavera 2015
Introducción

Primavera 2015
• UML es un lenguaje por que proporciona un vocabulario y las

FCC - BUAP
reglas para utilizarlo, además es un lenguaje de modelado lo
que significa que el vocabulario y las reglas se utilizan para la
representación conceptual y física del sistema.

BBM
• UML es un lenguaje que nos ayuda a interpretar grandes
sistemas mediante gráficos o mediante texto obteniendo
modelos explícitos que ayudan a la comunicación durante el
desarrollo ya que al ser estándar, los modelos podrán ser
interpretados por personas que no participaron en su diseño
sin ninguna ambigüedad.

41
Introducción

Primavera 2015
• El lenguaje UML se compone de tres elementos básicos, los

FCC - BUAP
bloques de construcción, las reglas y algunos mecanismos
comunes.
• Los bloques de construcción se dividen en tres partes:

BBM
Elementos, que son las abstracciones de primer nivel,
Relaciones, que unen a los elementos entre sí, y los
Diagramas, que son agrupaciones interesantes de elementos.
• Existen cuatro tipos de elementos en UML, dependiendo del
uso que se haga de ellos: elementos estructurales, elementos
de comportamiento, elementos de agrupación y elementos de
anotación.
42
Introducción

Primavera 2015
• El desarrollo de software puede ser visto como una serie de

FCC - BUAP
transformaciones del modelo mental inicial al código actual

BBM
Arquitecture
Model
Requirements Solution Code
Model Model
Stakeholders Design
Model
Mental Model

43
Bloques de construcción

Primavera 2015
• A continuación se van a describir todos los elementos que

FCC - BUAP
componen los bloques estructurales de UML, así como su
notación, para que nos sirva de introducción y se vaya
generando un esquema conceptual sobre UML. En temas

BBM
sucesivos se tratará con más profundidad cada uno de los
bloques.
• Elementos Estructurales:
• Los elementos estructurales en UML, es su mayoría, son las
partes estáticas del modelo y representan cosas que son
conceptuales o materiales.
44
Bloques de construcción

Primavera 2015
• Clases:
• Una clase es una descripción de un conjunto de objetos que

FCC - BUAP
comparten los mismos atributos, operaciones, relaciones y
semántica.
• Una clase implementa una o más interfaces. Gráficamente

BBM
se representa como un rectángulo que incluye su nombre,
sus atributos y sus operaciones.
Ventana
origen
tamaño
abrir()
cerrar() 45
mover()
dibujar()
Representación de clases

Primavera 2015
• Una clase es una descripción de un conjunto de objetos que
comparten los mismos atributos, operaciones, relaciones y

FCC - BUAP
semántica.
• Un objeto es una instancia individual de una clase.
• Una clase se identifica por un nombre que la distingue del

BBM
resto. Ese nombre sólo se denomina nombre simple; un
nombre de camino consta del nombre de la clase precedido del
nombre del paquete en el que se encuentra incluida.

Monitor Nombre
marca
Atributos
modelo
encender() Operaciones 46
Representación de clases

Primavera 2015
• Un atributo es una propiedad de una clase identificada con un
nombre.

FCC - BUAP
• Describe un rango de valores que pueden tomar las instancias
de la propiedad. Los atributos representan propiedades
comunes a todos los objetos de una determinada clase Los

BBM
atributos son propiedades interesantes de las clases.
• Una instancia de una determinada clase tendrá valores
concretos para sus atributos, mientras que las clases tienen
rangos de valores que pueden admitir sus atributos.
• Una operación es una implementación de un servicio que
puede ser requerido a cualquier objeto de la clase para que
muestre su comportamiento. Una operación representa algo
47
que el objeto puede hacer.

You might also like