composición y omondo
Post on 10-Jun-2015
322 Views
Preview:
DESCRIPTION
TRANSCRIPT
Usando el plugin Omondo para diseño del diagrama de clases en el Workspace
Composición:
Significa que una clase puede tener como miembros referencias a otros objetos de otras clases.A continuación aprenderemos a crear clases desde Omondo
Presione FiníshUbicado en Package , crear un nuevo paquete como se especifica a acontinuación
Asignar nombre al paquete
Presionar Finís
Marcar el paquete , ubicarse en types clic derecho /new/other/diagrama de clases ó marcando el ícono de diagramas escoger Nuevo diagrama UML
Con el icono de la barra, el resultado es el mismo
Presionar Finísh y se obtendrá la siguiente pantalla
Se procede a crear el diagrama de clases.
Escoger el ícono de clase y dibujar la clase
Presionar Finísh
Asignar un título al diagrama
Para asignar los atributos a la clase: Señalar la clase y escoger Atributos
Presionar New Atributo para proceder a crear los atributos.
Name: es el nombre del atributo.Type : es el tipo del atributoDimensión : si es 0 es una variable simple, 1 especifica un vector , 2 una matriz y así suesivamente.Se especifica los atributos de visibilidad, y los métodos de acceso.
Hacer los mismo para crear los atributos mes y año.
Adicionar métodos
Agregación y Composición
La agregación es la relación de componente, es como decir que un automóvil tiene motor y ruedas. Cada uno puede subsistir independientemente.La Composición el objeto parte puede pertenecer a un todo único, es más se espera que la parte viva y muera con el todo. Cualquier borrado del todo se extiende en cascada a las partes.
Ejemplo. Hacer una clase fecha y una clase empleado que se compondrá de la clase fecha.Empleado tendrá los campos:
Nombres Fecha de Nacimiento Fecha de Contratación.
package composicion;
public class Fecha {private int dia;private int mes;private int año;public Fecha(int dia, int mes, int año) {
if(this.validatingDia(dia)==true)this.dia = dia;if(this.validatingMes(mes)==true)this.mes = mes;
this.año = año;}public Fecha() {
this.dia=01;this.mes=01;this.año=2008;
}public int getAño() {
return año;}public void setAño(int año) {
this.año = año;}public int getDia() {
return dia;}public void setDia(int dia) {
if(this.validatingDia(dia)==true)this.dia = dia;else{
System.out.println("Dato dia Inválido, se establece en 1");
this.dia=1;}
}public int getMes() {
return mes;}public void setMes(int mes) {
if(this.validatingMes(mes)==true)this.mes = mes;else{
System.out.println("Dato mes inválido, se establece a 1");
this.mes=1;}
}
private boolean validatingDia(int dia){
int diasPorMes[]={0,31,28,31,30,31,30,31,31,30,31,30,31};if(dia>0 && dia <=diasPorMes[mes])
return true;return (mes==2 && dia==29 && (año%400==0 || (año%4==0 &&
año%100!=0)));
}
boolean validatingMes(int mes){
return (mes>=1 && mes<=12);}
public String toStringFecha(){
return dia+"/"+mes+"/"+año;}
}
package composicion;
public class Empleado {String nombres;Fecha fechaNacimiento;Fecha fechaIngreso;public Empleado(String nombres, Fecha fechaNacimiento, Fecha fechaIngreso) {
super();this.nombres = nombres;this.fechaNacimiento = fechaNacimiento;this.fechaIngreso = fechaIngreso;
}public Fecha getFechaIngreso() {
return fechaIngreso;}public Fecha getFechaNacimiento() {
return fechaNacimiento;}public String getNombres() {
return nombres;}public void setFechaIngreso(Fecha fechaIngreso) {
this.fechaIngreso = fechaIngreso;}public void setFechaNacimiento(Fecha fechaNacimiento) {
this.fechaNacimiento = fechaNacimiento;}public void setNombres(String nombres) {
this.nombres = nombres;}public String toString()
{return "DatosEmpleado:\n Nombre= "+this.nombres+"\n Fecha de Nacimiento="+this.fechaNacimiento.toStringFecha()+"\n Fecha de Ingreso="+this.fechaIngreso.toStringFecha();
}
}
package composicion;import javax.swing.JOptionPane;public class Aplicacion {
public static void main(String[] args) {String nombreAux;Fecha fechaNac =new Fecha();Fecha fechaIng=new Fecha();String fechaAux;
nombreAux=JOptionPane.showInputDialog("Ingrese el nombre del empleado");
System.out.println(nombreAux);fechaAux=JOptionPane.showInputDialog("Ingrese fecha de
Nacimiento (formato dd/mm/aaaa)");System.out.println(fechaAux);
fechaNac.setDia(Integer.parseInt(fechaAux.substring(0,2)));
fechaNac.setMes((Integer.parseInt(fechaAux.substring(3,5))));fechaNac.setAño((Integer.parseInt(fechaAux.substring(6))));
fechaAux=JOptionPane.showInputDialog("Ingrese fecha de Ingreso a la Empresa (formato dd/mm/aaaa)");
fechaIng.setDia((Integer.parseInt(fechaAux.substring(0,2))));
fechaIng.setMes((Integer.parseInt(fechaAux.substring(3,5))));fechaIng.setAño((Integer.parseInt(fechaAux.substring(6))));
Empleado emp = new Empleado(nombreAux,fechaNac,fechaIng);
JOptionPane.showMessageDialog(null,emp.toString(),"Datos delEmpleado",JOptionPane.INFORMATION_MESSAGE);
}
}
Leer Eclipse Modelling para modelar Fecha, Empleado
top related