Está en la página 1de 9

Evaluación 1

Contenido

Diagrama de Clases

Clases

Herencia

Interface

Contenedores

Diagrama de Clases Online:

herramienta de código abierto que utiliza descripciones textuales simples para dibujar diagramas UML.
Crea fácilmente diagramas UML desde la simple descripción textual. También hay numerosos tipos de diagramas
disponibles. También es posible exportar imágenes en PNG, látex, EPS, SVG.

https://plantuml.com/es/

POO ()

Una clase es simplemente una instancia de una clase pero NO es una clase.

Una clase puede ser un objeto, esto permite que se envien mensajes (Ej: new)

Ejemplo

Ejemplo de Clase:

Puerta, Empleado, Habitación, Vehículo,…

Ejemplo de Atributos:

Puerta: largo, ancho, espesor, tipo

Empleado: rut, nombre, correo, dirección

Habitación: número, valor, cantCamas, m2

Vehículos: patente, marca, modelo, año

Interfaz de una Clase


Se encarga de proporcionar una vista externa del programa. Y en un nivel abstracto, se trata de una clase es
un interface que define la conducta de sus objetos.

Privada: Es una declaración de atributo o método sólo visible para la misma clase.

Evaluación 1 1
Pública: …

Operaciones sobre un objeto

Modificar: Operación que altera el estado de un objeto (Método set())

Contenedor: Operación que accede al estado de un objeto, pero no lo altera (Método get())

Constructor: Operación que crea un objeto y/0 inicializa su estado.

Destructor: Operación que libera el estadode un objeto y/o destruye el objeto mismo.

¿Cómo se declara y se crea una variable de una clase?

1. Declaración: Se indica el NombreDeLaClase y luego el nombre de la variable respectiva.

//Declaración de variable dentro deu una clase


class Persona {
Persona persona;
}

2. Creación: Para crear (instanciar) un objeto, se debe llamar al operador new que será encargado de
asignar memoria e inicializar los valores del objeto.

a. Se asigna a la variable de la clase el resultado de new NombreDeLaClase.

//Instanciar un objeto de una clase


class Persona {
Persona personaJuan = new Persona(rut: "111-1", nombre: "Juan

Implementación (Codificación de una Clase)


¡! Corresponde a la vista interna. Consiste principalmente de la implementación vía código fuente de todas
las operaciones definidas en la interface de la clase.

1. Clase Punto

La clase punto representa un par ordenado (x, y)

1. La clase punto posee 2 atributos internos privados: x e y.

2. Posee 2 constructores: uno sin y otro con parámetros. El constructor vacío (sin parám) es
inicializado con x= 0 e y = 0.

Evaluación 1 2
3. Posee 2 métodos para acceder a los valores internos x e y: getX() y getY()

4. Posee un métodos que recibe por parámetros otro punto y calcula la distancia entre ellos: d(…)

Punto

[] x: int
[] y: int

o Punto()
o Punto(x: int, y: int)
getX(): int
getY(): int
d(punto: Punto): double

Relacionamiento entre Clases

Agregación / Composición

Generalmente poseen relaciones del tipo “”Tiene un…” o “Es parte de…”

El tipo de asociación es importante, ya que, indica el nivel de dependencia que existe entre las
distintas clases.

a. Agregación (Relación débil)


Están formados por una colección de una o otras clases

(C) Persona ←*—vive—*→ (C) Dirección

b. Composición (Relación fuerte)

Cuando se requiere la existencia de otra clase para su correcto funcionamiento

Contenedores

Evaluación 1 3
Evaluación 1 4
Interface

Para identificar una interface se utiliza el “estereotipo” UML, lo que se destaca como un título o sobre una
relación prelación para indicar su comportamiento: <<interface>>

En PLanUML se escribe de esta forma:

interface InstrumentoMusical <<intrerface>> {


+getMarca(): String
+tocar(partitura: String): void
+tocarNota(nota: String): void
+isDeCuerdas(): boolean
+isDePercusion(): boolean

¡! Diferencia entre Interface v/s Clase

Evaluación 1 5
Clase

Las clases pueden ser instancias vía el operador new y así crear objetos.

Poseen implementación de los métodos concretos (Código).

Se puede especificar la visibilidad (público o privado) de los atributos y


métodos que la componen.

Interface

NO pueden ser instancias, por lo tanto no se pueden crear objetos.

Sólo define la firma del método (contrato) y no posee su implementación


concreta (Código).

Todos los métodos declarados son automáticamente públicos.

Evaluación 1 6
Herencia

Es un procedimiento que se nos permite reutilizar código cuando creamos nuevas clases. O sea, nos permite
indicar al programa que queremos utilizar las variables y funciones de una clase ya hemos creado
anteriormente.

Se puede definir una nueva clase B como una extensión de una clase A previa.

B se denomina subclase o clase hija

A se denomina superclase o clase padre

Evaluación 1 7
Reglas de Herencia

Evaluación 1 8
FALTA CLASE 12 PARTE 2

Evaluación 1 9

También podría gustarte