1.
2 Lenguaje de modelado unificado:
diagrama de clases
Diseño de clases (abstraccion de
datos)
Clase: es una colección de objetos que comparten atributos y métodos
comunes. Define las estructuras de datos del objeto.
En poo los atributos y métodos de un tipo de objeto se conocen
como sus características y responsabilidades.
CST POO 2
Diseño de clases (abstraccion de
datos)
Una clase también se denomina tipo de datos; es un
tipo de datos abstracto que encierra el concepto que se
pretende modelar.
Ejemplo Numeros complejos.
CST POO 3
Creacion de objetos
Objeto: Ente o entidad definido por una lista de atributos
abstractos como tamaño, posición y color; cualquier cosa
con una identidad, puede ser un individuo real o imaginario
o un concepto abstracto o concreto.
Ojo: aquí meter el ejemplo 3: de como conocemos las cosas
(borrador).
Una clase es general, un objeto es particular.
CST POO 4
Encapsulamiento (Tercer postulado del PPOO)
● Es un postulado de la poo que permite destacar las
caracteristicas relevantes de las clases, ocultar las
irrelevantes y modelar las operaciones aplicables al
conjunto de objetos.
● El Encapsulamiento es el resultado de la
abstraccion de datos (modelo).
● En las clases se declaran los tipos de datos resultantes
de la abstracción y el medio de manipularlos u operar
con ellos.
CST POO 5
Encapsulamiento (Tercer postulado del PPOO)
● Tambien decimos que el Encapsulamiento
provoca el ocultamiento de información.
● Esto se refiere a la práctica de incluir
dentro de una clase todo lo que necesita y
hacerlo de tal manera, que ningún otro
objeto necesite conocer nunca su
estructura de datos interna.
CST POO 6
Encapsulamiento (Tercer postulado del PPOO)
● Las partes encapsuladas u ocultas de un
objeto son su implementación privada, se
dice que los atributos y los métodos
visibles son públicos.
● Usaremos el diagrama UML para
describir clases con sus tres apartados:
CST POO 7
Encapsulamiento (Tercer postulado del PPOO)
Nombre
Atributos
Metodos
CST POO 8
Encapsulamiento (Tercer postulado del PPOO)
Reglas:
Use “+” si la clase o los métodos son públicos.
Use “-” si los atributos o los métodos son privados.
Use “:” para describir el tipo de datos que regresa el método
llamado, al llamador.
Use “()” para indicar él, o los valores de entrada como
argumentos de llamada que utilizará el método.
Ejemplo Point.java
CST POO 9
Ejercicios: Abstracción de datos
● Ejercicio 2: Favor de dibujar el diagrama UML para la
clase Point , en papel a mano con lápiz o en algún
medio electrónico
● Ejercicio 3: Favor de codificar el diagrama del
ejercicio 2 en python.
● Ejercicio 4: Lo mismo que el ejercicio 4 pero en java
● Ejercicio 5: Lo mismo que el ejercicio 5 pero en c++.
CST POO 10
Ejercicios Abstraccion funcional y
contextual
● Ejercicio 6: Favor de escribir un algoritmo con enfoque
de sistemas que le permita calcular la distancia entre dos
puntos cualesquiera del plano cartesiano.
● Ejercicio 7: Favor de codificar una clase de prueba
ateniendose al algoritmo del ejercicio 6 en python.
● Ejercicio 8: Lo mismo que el ejercicio 7 ahora en java
● Ejercicio 9: Lo mismo que el ejercicio 8 ahora en c++
CST POO 11
Referencias
http://edn.embarcadero.com/article/31863
http://www.smartdraw.com/resources/tutorials/uml-diagrams
De ahi enfatizar por que deberia usarse Uml
A complex enterprise application with many collaborators will
require a solid foundation of planning and clear, concise
communication among team members as the project
progresses.
Visualizing user interactions, processes, and the structure of the
system you're trying to build will help save time down the line
and make sure everyone on the team is on the same page.
CST POO 12
Diagramas de clases
● http://www.visual-paradigm.com/product/vpuml/prov
ides/structuralmodeling.jsp
● Desde el punto de vista del diseño: ¿Como definir
una clase?
● ¿Que quiero diseñar en torno a los conjuntos de
objetos?
– Nombre de la clase:
– Los atributos.
– Las operaciones de la clase de objetos.
CST POO 13
Diagramas de clases
Los ejemplos estan en las clases: Artículo.java y
Mamifero.java
Ver mapa mental POO
Ejercicio 10 Favor de dibujar el diagrama UML para la
clase Articulo .
Ejercicio 11 Favor de dibujar el diagrama UML para la
clase Mamífero
CST POO 14