SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
Paso de Diagrama de clases a Java
Parte 1
Clara Patricia Avella Ibáñez
Tunja – Boyacá – Colombia
Docente universitaria
cpavella@gmail.com
De Diagrama de clases a Java
Nuestro objetivo en este momento es pasar el siguiente diagrama de clases a código
Java
VehiculoPersona
- docId: String
- nombre: String
- apellido: String
- fechaNac: String
- género: char
+crearPersona(docN:String, nombreN:
String, apellidoN: String,
fechaNacN:String, generoN: char,
vehiculo:Vehiculo): void
tiene 1
- marca: String
- referencia: String
- modelo: int
- placa: String
- color: String
- valor: int
Por ahora veremos
cómo se realiza el
manejo de una relación
de ASOCIACIÓN con una
multiplicidad de 1
+crearVehiculo(marcaN:String,
referenciaN: String, modeloN: int,
placaN:String, colorN: String, valorN:
int): void
+cambiarValor(valorNuevo: int): void
+calcularImpuesto(void): double
Recordemos que cada objeto de la
clase Persona conoce a 1 objeto de
la clase Vehículo. Esto se da
porque cada persona tiene un
vehículo (en nuestro ejemplo)
Observemos que la
clase Persona conoce
a la clase Vehiculo
(por la dirección de la
relación de
asociación) pero la
clase Vehiculo no
conoce a la clase
persona
Se lee:
Una
persona
tiene 1
vehículo
De Diagrama de clases a Java
Vehiculo
- marca: String
- referencia: String
- modelo: int
- placa: String
- color: String
- valor: int
Como la clase Vehiculo no conoce
a ninguna clase, veamos cómo se
convierte a código Java esta clase
(el nombre de la Clase y los
atributos por ahora, porque los
métodos los veremos más
adelante)
public class Vehiculo{
private String marca;
private String
referencia;
private int modelo;
private String placa;
private String color;
private int valor;
}
public significa que la
clase es pública (se puede
tener acceso a ella desde
otras clases de la
aplicación)
class: indica a Java
que es una clase
Clase en UML
Código java de la clase (sin
incluir los métodos aún)
Nombre de la clase
seguida de la llave
de apertura al inicio
{
La clase debe tener
una llave de cierre }
al final para indicar
que ahí termina el
código de la clase
Nombre
Atributos
Operaciones
ó
Métodos
Empieza con mayúscula
Singular
El nombre es el mismo del archivo físico con extensión .java
Son variables de tipos básicos de datos o de otras Clases
Empiezan con minúscula si es más de una palabra usar
mayúscula en letra inicial de cada palabra diferente a la primera.
Evitar usar _ (raya al piso)
Segmento de código secuencial que ejecuta una tarea específica
Conocidos como procedimientos o funciones en programación
estructurada. Los métodos casi siempre se invocan con un objeto y aplica
las instrucciones sobre el objeto con el cual se invoca.
Pueden o no tener parámetros (los parámetros son valores que entran al
método).
Pueden o no retornar o devolver un valor
Constantes
Tienen asignado un valor que no cambia durante la ejecución del
programa.
Se declaran con mayúscula sostenida
Ejemplo static final int IVA_TIPO1 =16;
Utilizan _ cuando está conformado su nombre por más de una palabra.
Declaración de clases en Java
También debemos tener en cuenta los siguientes aspectos con el fin cumplir
con estándares de codificación y buenas prácticas de programación
Declaración de Clases en Java
Modificador de la clase
public: visible por otras clases
abstract: clase abstracta que no se puede
instanciar .
Atributos
Métodos
modificador class NombreDeLaClase {
modificador tipoDeDato nombreAtributo;
modificador static final tipoDeDato nombre=valor;
Ver siguiente diapositiva
}
Constantes
Accesibilidad de los atributos y constantes
public: es accesible por cualquier objeto dentro y
fuera de la clase.
private: sólo es accesible dentro de la clase donde es
declarada
protected: es accesible dentro de la clase donde es
declarada y desde las clases derivadas (subclases o
clases hijas) cuando hay herencia.
final : para definir constantes
static: para declarar atributos , constantes o métodos
de clase
Tipos de
modificadores para
atributos, constantes
y métodos
Declaración de Clases en Java
Métodos
modificador tipoRetorno nombreDelMétodo (tipoDatoParametro(s) parametro(s) ) {
cuerpo del método
}
Accesibilidad de los métodos
public: es accesible por cualquier clase.
private: sólo es accesible dentro de la clase donde
es declarado
protected: es accesible dentro de la clase donde
es declarado y desde las clases derivadas
(subclases o clases hijas) cuando hay herencia.
static: es un método de clase. No requiere de un
objeto para invocarse.
Tipo de dato que retorna el método
Se escribe void si no retorna un valor
De Diagrama de clases a Java
Tenga presente los
siguientes aspectos
Java es sensible a mayúsculas y
minúsculas, es decir, no es lo
mismo escribir vehiculo que
Vehiculo
Evite incluir eñes o tildes en los
nombres de clases, métodos,
atributos, variables y constantes
Lo único que debe empezar con
mayúsculas en Java es el
nombre de la clases, lo demás
empieza con minúscula
Ejemplos:
calcularSalario() para un método
telefonoCasa para un atributo
Si necesita declarar un atributo,
variable o método que tenga
más de dos palabras, escriba la
letra inicial de la segunda o
siguientes palabras con
mayúscula
No se deben utilizar palabras
reservadas (ej: public, class, for, if,
etc.) para nombrar clases, variables,
atributos, constantes o métodos
Creación de proyectos en Java
Ahora pasaremos el código en Eclipse
Una vez que esté ubicado
en Eclipse, seleccione en el
menú: File- New – Java
Project
Creación de proyectos en Java
Escriba el nombre que quiere
asignarle al proyecto
En este caso el proyecto que
vamos a crear se llama
ejemplo1
Por default se asigna el JRE
(Java Runtime Environment)
que se instaló previamente.
Dé clic en Finish para confirmar
la creación de proyecto
Creación de proyectos en Java
En la ventana de Package Explorer
aparece el proyecto con una
carpeta llamada src (source )
donde se van a guardar los
archivos .java o clases
Aparece el JRE o biblioteca de
Java que inc luye clases que ya
vienen construidas en Java y que
podemos utilizar en los
programas que elaboremos
Si no aparece la ventana Package
Explorer, hágala visible haciendo
clic en el menú superior: Window
– show View - Package Explorer
Creación de proyectos en Java
Ahora crearemos la clase
Vehiculo que trabajado en
este material
Nos ubicamos sobre el paquete
src y hacemos clic derecho
para que nos aparezca la
ventana ubicada en el centro
Hacemos clic en New y
seleccionamos Class
Creación de clases en Java
Aparece el paquete (carpeta) donde va a
ubicarse el archivo con la clase a crear
Si se quiere ubicar la clase en otro
paquete dentro del paquete src, podemos
escribir el nombre del paquete en este
espacio. Si se deja en blanco crea la clase
en un paquete al cual le asigna el mismo
nombre del proyecto.
En este caso le vamos a dar el nombre
unico
Se escribe el nombre de la clase. Para
nuestro ejemplo Vehiculo
Recuerde que los nombres de las
clases inician con mayúscula
Se marcan los modificadores de la
clase. Por default es public. Vamos a
dejarlo así ya que la clase que vamos
a crear es pública
Hacemos clic
en Finish para
confirmar la
clase a crear
Creación de clases en Java
Se crea el paquete
unico que
configuramos en la
ventana de creación
de la clase
Dentro del paquete unico
crea el archivo Vehiculo.java
que corresponde al archivo
físico que se genera al crer la
clase
Observe:
En la ventana del centro
aparece una pestaña con el
código fuente generado al
crear la clase
Creación de clases en Java
Recordemos que
esta es la clase
Vehiculo definida
en el diagrama de
clases
Vehiculo
- marca: String
- referencia: String
- modelo: int
- placa: String
- color: String
- valor: int
El símbolo menos –
(modificador de atributos) del
diagrama de clases se
convierte en private en código
java.
Esto significa que a los
atributos solo se pueden
acceder directamente dentro
de la clase
Escribimos en Java los atributos
de la clase (tengamos cuidado de
dejar el código dentro de los
corchetes de la clase {}
Tenga presente que en el diagrama de
clases UML se escribe primero el nombre
del atributo y después de los dos puntos
el tipo de dato, pero en Java primero va el
tipo de dato y después el nombre del
atributo, seguido de punto y coma ;
Creación de clases en Java
VehiculoPersona
- docId: String
- nombre: String
- apellido: String
- fechaNac: String
- género: char
+crearPersona(docN:String, nombreN:
String, apellidoN: String,
fechaNacN:String, generoN: char,
vehiculo:Vehiculo): void
tiene 1
- marca: String
- referencia: String
- modelo: int
- placa: String
- color: String
- valor: int
+crearVehiculo(marcaN:String,
referenciaN: String, modeloN: int,
placaN:String, colorN: String, valorN:
int): void
+cambiarValor(valorNuevo: int): void
+calcularImpuesto(void): double
En código Java la relación de
asociación se convierte en un
atributo para la clase de la cual sale
la relación, en este caso para la clase
Persona.
Veamos el código fuente de la clase
Persona en la siguiente diapositiva
Retomando el diagrama de
clases, recordemos que la
clase Persona conoce a la
clase Vehiculo, es decir que
la relación de asociación nos
indica que cada objeto de la
clase Persona tiene un
objeto de la clase Vehiculo
Creación de clases en Java
De la misma manera
que se creó la clase
Vehiculo, se crea la
clase Persona
Se escriben los atributos
propios de clase con su
modificador, tipo de dato y
nombre
Como la relación de
asociación se convierte en
atributo, el tipo de dato del
atributo será el nombre de
la Clase con la cual se tiene
la relación
El tipo del atributo es
Vehiculo (nombre de la
clase)
El nombre del atributo en
este caso es vehiculo (con
minúscula porque es el
atributo)
A la izquierda de la definición de
atributos aparecen bombillos amarillos
que significan Warning (mensaje de
prevención). En este caso nos indica
que no ha sido utilizado ninguno de los
atributos definidos. Cuando
adicionemos los métodos se soluciona.
esto
Diagrama de objetos
Para entender mejor lo que significa que un objeto tenga atributos que son a su vez objetos de otra clase,
pensemos en el ejemplo que estamos trabajando.
La siguiente es una imagen que nos muestra los objetos que existirían en el mundo computacional si
queremos representar a una persona con docId (documento de identidad): 345, nombre: Carlos, apellido:
Suárez, fecha de nacimiento: 27/12/1990 y género: m, que a su vez tiene (es propietaria) el vehículo con
marca: Renault, referencia: logan, modelo: 2009, placa: GRS123 y color: gris
p: Persona
docId: “345”
nombre: “Carlos”
apellido: “Suárez”
fechaNac:
“27/12/1990”
genero: ‘m’
vehiculo:
v: Vehiculo
marca“Renault”
referencia: “Logan”
modelo: 2009
placa: “GRS123”
color: “Gris”
Esta caja representa
a un objeto llamado
v de la clase
Vehiculo
Esta caja
representa a un
objeto llamado p
de tipo Persona
El objeto v de la
clase Vehiculo es el
dato que iría
asignado al atributo
vehiculo del objeto
p de la clase
Persona
Este es el DIAGRAMA DE OBJETOS de
UML y nos ayuda a entender mejor los
objetos involucrados en el modelo
computacional y sus relaciones
FechaEmpleado
- cedula: String
- nombre: String
- apellido: String
- genero: char
- salario: int
Fecha de nacimiento 1
- dia: int
- mes: int
- anio: int
métodos
métodos
Fecha de ingreso 1
public class Fecha{
private int dia;
private int mes;
private int anio;
}
public class Empleado{
private String cedula;
private String nombre;
private String apellido;
private char genero;
private int salario;
private Fecha fechaNac;
private Fecha fechaIng;
}
Atributos propios
de la clase
Atributos que
salen de las
relaciones
Ejemplos – Diagrama de clases a java
EditorialLibro
- isbn: String
- titulo: String
- anio: int
- precio: int
Pertenece a 1
- codigo: int
- nombre: String
- anio: int
métodos
métodos
public class Editorial{
private int codigo;
private String nombre;
private int anio;
}
public class Libro{
private String isbn;
private String titulo;
private int anio;
private int precio;
private Editorial editorial;
}
Ejemplos – Diagrama de clases a java
Fecha
Persona
- cedula: String
- nombre: String
- apellido: String
- genero: char
Fecha de nacimiento 1
- dia: int
- mes: int
- anio: int
métodos
métodos
Ciudad
- codigo: int
- nombre: String
- indicativo: int
métodos
ciudad de nacimiento 1
ciudad de residencia 1
public class Persona{
private String cedula;
private String nombre;
private String apellido;
private char genero;
private Fecha fechaNac;
private Ciudad ciudadNac;
private Ciudad ciudadRes;
}
public class Fecha{
private int dia;
private int mes;
private int anio;
}
public class Ciudad{
private int codigo;
private String nombre;
private int indicativo;
}
Ejemplos

Weitere ähnliche Inhalte

Was ist angesagt?

Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetosClara Patricia Avella Ibañez
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosAlvaro Enrique Ruano
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de ClasesAdal Dg
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre ObjetosEmilio Aviles Avila
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de javainnovalabcun
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 
Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)Fredy Nicolas Moreno Puerto
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacionlongojose
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional CristobalFicaV
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 

Was ist angesagt? (20)

Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Diagrama UML de Clases
Diagrama UML de ClasesDiagrama UML de Clases
Diagrama UML de Clases
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre Objetos
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
UML
UMLUML
UML
 
Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
modelo entidad-relacion
modelo entidad-relacionmodelo entidad-relacion
modelo entidad-relacion
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)Paradigma Programación Orientada a Objetos (POO)
Paradigma Programación Orientada a Objetos (POO)
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
UML - Analisis de Sistemas
UML - Analisis de SistemasUML - Analisis de Sistemas
UML - Analisis de Sistemas
 
15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 

Ähnlich wie 8b Curso de POO en java - paso de diagrama clases a java 1

Ähnlich wie 8b Curso de POO en java - paso de diagrama clases a java 1 (20)

Unidad o informatica
Unidad o informaticaUnidad o informatica
Unidad o informatica
 
Java
JavaJava
Java
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
4 unidad polimorfismo
4 unidad polimorfismo4 unidad polimorfismo
4 unidad polimorfismo
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Intro
IntroIntro
Intro
 
Datos previos
Datos previosDatos previos
Datos previos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
 
U8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdfU8.- Programacion Orientada a objetos II (2).pdf
U8.- Programacion Orientada a objetos II (2).pdf
 
Trabajo tutorial de visual C++
Trabajo tutorial de visual C++Trabajo tutorial de visual C++
Trabajo tutorial de visual C++
 
Semana9b Vbr
Semana9b VbrSemana9b Vbr
Semana9b Vbr
 
Que es una clase en java
Que es una clase en javaQue es una clase en java
Que es una clase en java
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Semana03 prog ii
Semana03 prog iiSemana03 prog ii
Semana03 prog ii
 
Herencia - Java
Herencia - JavaHerencia - Java
Herencia - Java
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 

Mehr von Clara Patricia Avella Ibañez

11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadoresClara Patricia Avella Ibañez
 
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y procesoClara Patricia Avella Ibañez
 
Taller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de BoyacáTaller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de BoyacáClara Patricia Avella Ibañez
 

Mehr von Clara Patricia Avella Ibañez (16)

17 arreglos bidimensionales java
17 arreglos bidimensionales java17 arreglos bidimensionales java
17 arreglos bidimensionales java
 
18 Curso POO en java - contenedores
18 Curso POO en java - contenedores18 Curso POO en java - contenedores
18 Curso POO en java - contenedores
 
8a Curso de POO en Java - crear proyecto eclipse
8a Curso de POO en Java - crear proyecto eclipse8a Curso de POO en Java - crear proyecto eclipse
8a Curso de POO en Java - crear proyecto eclipse
 
14 Curso de POO en java - estructuras condicionales
14 Curso de POO en java - estructuras condicionales14 Curso de POO en java - estructuras condicionales
14 Curso de POO en java - estructuras condicionales
 
13 Curso de POO en java - métodos propios de clase
13 Curso de POO en java - métodos propios de clase13 Curso de POO en java - métodos propios de clase
13 Curso de POO en java - métodos propios de clase
 
12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
 
5 Curso de POO en java - ejecución eclipse
5 Curso de POO en java - ejecución eclipse5 Curso de POO en java - ejecución eclipse
5 Curso de POO en java - ejecución eclipse
 
4 Curso de POO en java - instalación Eclipse
4 Curso de POO en java - instalación Eclipse4 Curso de POO en java - instalación Eclipse
4 Curso de POO en java - instalación Eclipse
 
2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso
 
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
 
Prestentacion parapentismoextremo
Prestentacion parapentismoextremoPrestentacion parapentismoextremo
Prestentacion parapentismoextremo
 
Netiqueta
NetiquetaNetiqueta
Netiqueta
 
Modelo pedagógico Universidad de Boyacá
Modelo pedagógico Universidad de BoyacáModelo pedagógico Universidad de Boyacá
Modelo pedagógico Universidad de Boyacá
 
Taller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de BoyacáTaller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de Boyacá
 

8b Curso de POO en java - paso de diagrama clases a java 1

  • 1. Paso de Diagrama de clases a Java Parte 1 Clara Patricia Avella Ibáñez Tunja – Boyacá – Colombia Docente universitaria cpavella@gmail.com
  • 2. De Diagrama de clases a Java Nuestro objetivo en este momento es pasar el siguiente diagrama de clases a código Java VehiculoPersona - docId: String - nombre: String - apellido: String - fechaNac: String - género: char +crearPersona(docN:String, nombreN: String, apellidoN: String, fechaNacN:String, generoN: char, vehiculo:Vehiculo): void tiene 1 - marca: String - referencia: String - modelo: int - placa: String - color: String - valor: int Por ahora veremos cómo se realiza el manejo de una relación de ASOCIACIÓN con una multiplicidad de 1 +crearVehiculo(marcaN:String, referenciaN: String, modeloN: int, placaN:String, colorN: String, valorN: int): void +cambiarValor(valorNuevo: int): void +calcularImpuesto(void): double Recordemos que cada objeto de la clase Persona conoce a 1 objeto de la clase Vehículo. Esto se da porque cada persona tiene un vehículo (en nuestro ejemplo) Observemos que la clase Persona conoce a la clase Vehiculo (por la dirección de la relación de asociación) pero la clase Vehiculo no conoce a la clase persona Se lee: Una persona tiene 1 vehículo
  • 3. De Diagrama de clases a Java Vehiculo - marca: String - referencia: String - modelo: int - placa: String - color: String - valor: int Como la clase Vehiculo no conoce a ninguna clase, veamos cómo se convierte a código Java esta clase (el nombre de la Clase y los atributos por ahora, porque los métodos los veremos más adelante) public class Vehiculo{ private String marca; private String referencia; private int modelo; private String placa; private String color; private int valor; } public significa que la clase es pública (se puede tener acceso a ella desde otras clases de la aplicación) class: indica a Java que es una clase Clase en UML Código java de la clase (sin incluir los métodos aún) Nombre de la clase seguida de la llave de apertura al inicio { La clase debe tener una llave de cierre } al final para indicar que ahí termina el código de la clase
  • 4. Nombre Atributos Operaciones ó Métodos Empieza con mayúscula Singular El nombre es el mismo del archivo físico con extensión .java Son variables de tipos básicos de datos o de otras Clases Empiezan con minúscula si es más de una palabra usar mayúscula en letra inicial de cada palabra diferente a la primera. Evitar usar _ (raya al piso) Segmento de código secuencial que ejecuta una tarea específica Conocidos como procedimientos o funciones en programación estructurada. Los métodos casi siempre se invocan con un objeto y aplica las instrucciones sobre el objeto con el cual se invoca. Pueden o no tener parámetros (los parámetros son valores que entran al método). Pueden o no retornar o devolver un valor Constantes Tienen asignado un valor que no cambia durante la ejecución del programa. Se declaran con mayúscula sostenida Ejemplo static final int IVA_TIPO1 =16; Utilizan _ cuando está conformado su nombre por más de una palabra. Declaración de clases en Java También debemos tener en cuenta los siguientes aspectos con el fin cumplir con estándares de codificación y buenas prácticas de programación
  • 5. Declaración de Clases en Java Modificador de la clase public: visible por otras clases abstract: clase abstracta que no se puede instanciar . Atributos Métodos modificador class NombreDeLaClase { modificador tipoDeDato nombreAtributo; modificador static final tipoDeDato nombre=valor; Ver siguiente diapositiva } Constantes Accesibilidad de los atributos y constantes public: es accesible por cualquier objeto dentro y fuera de la clase. private: sólo es accesible dentro de la clase donde es declarada protected: es accesible dentro de la clase donde es declarada y desde las clases derivadas (subclases o clases hijas) cuando hay herencia. final : para definir constantes static: para declarar atributos , constantes o métodos de clase Tipos de modificadores para atributos, constantes y métodos
  • 6. Declaración de Clases en Java Métodos modificador tipoRetorno nombreDelMétodo (tipoDatoParametro(s) parametro(s) ) { cuerpo del método } Accesibilidad de los métodos public: es accesible por cualquier clase. private: sólo es accesible dentro de la clase donde es declarado protected: es accesible dentro de la clase donde es declarado y desde las clases derivadas (subclases o clases hijas) cuando hay herencia. static: es un método de clase. No requiere de un objeto para invocarse. Tipo de dato que retorna el método Se escribe void si no retorna un valor
  • 7. De Diagrama de clases a Java Tenga presente los siguientes aspectos Java es sensible a mayúsculas y minúsculas, es decir, no es lo mismo escribir vehiculo que Vehiculo Evite incluir eñes o tildes en los nombres de clases, métodos, atributos, variables y constantes Lo único que debe empezar con mayúsculas en Java es el nombre de la clases, lo demás empieza con minúscula Ejemplos: calcularSalario() para un método telefonoCasa para un atributo Si necesita declarar un atributo, variable o método que tenga más de dos palabras, escriba la letra inicial de la segunda o siguientes palabras con mayúscula No se deben utilizar palabras reservadas (ej: public, class, for, if, etc.) para nombrar clases, variables, atributos, constantes o métodos
  • 8. Creación de proyectos en Java Ahora pasaremos el código en Eclipse Una vez que esté ubicado en Eclipse, seleccione en el menú: File- New – Java Project
  • 9. Creación de proyectos en Java Escriba el nombre que quiere asignarle al proyecto En este caso el proyecto que vamos a crear se llama ejemplo1 Por default se asigna el JRE (Java Runtime Environment) que se instaló previamente. Dé clic en Finish para confirmar la creación de proyecto
  • 10. Creación de proyectos en Java En la ventana de Package Explorer aparece el proyecto con una carpeta llamada src (source ) donde se van a guardar los archivos .java o clases Aparece el JRE o biblioteca de Java que inc luye clases que ya vienen construidas en Java y que podemos utilizar en los programas que elaboremos Si no aparece la ventana Package Explorer, hágala visible haciendo clic en el menú superior: Window – show View - Package Explorer
  • 11. Creación de proyectos en Java Ahora crearemos la clase Vehiculo que trabajado en este material Nos ubicamos sobre el paquete src y hacemos clic derecho para que nos aparezca la ventana ubicada en el centro Hacemos clic en New y seleccionamos Class
  • 12. Creación de clases en Java Aparece el paquete (carpeta) donde va a ubicarse el archivo con la clase a crear Si se quiere ubicar la clase en otro paquete dentro del paquete src, podemos escribir el nombre del paquete en este espacio. Si se deja en blanco crea la clase en un paquete al cual le asigna el mismo nombre del proyecto. En este caso le vamos a dar el nombre unico Se escribe el nombre de la clase. Para nuestro ejemplo Vehiculo Recuerde que los nombres de las clases inician con mayúscula Se marcan los modificadores de la clase. Por default es public. Vamos a dejarlo así ya que la clase que vamos a crear es pública Hacemos clic en Finish para confirmar la clase a crear
  • 13. Creación de clases en Java Se crea el paquete unico que configuramos en la ventana de creación de la clase Dentro del paquete unico crea el archivo Vehiculo.java que corresponde al archivo físico que se genera al crer la clase Observe: En la ventana del centro aparece una pestaña con el código fuente generado al crear la clase
  • 14. Creación de clases en Java Recordemos que esta es la clase Vehiculo definida en el diagrama de clases Vehiculo - marca: String - referencia: String - modelo: int - placa: String - color: String - valor: int El símbolo menos – (modificador de atributos) del diagrama de clases se convierte en private en código java. Esto significa que a los atributos solo se pueden acceder directamente dentro de la clase Escribimos en Java los atributos de la clase (tengamos cuidado de dejar el código dentro de los corchetes de la clase {} Tenga presente que en el diagrama de clases UML se escribe primero el nombre del atributo y después de los dos puntos el tipo de dato, pero en Java primero va el tipo de dato y después el nombre del atributo, seguido de punto y coma ;
  • 15. Creación de clases en Java VehiculoPersona - docId: String - nombre: String - apellido: String - fechaNac: String - género: char +crearPersona(docN:String, nombreN: String, apellidoN: String, fechaNacN:String, generoN: char, vehiculo:Vehiculo): void tiene 1 - marca: String - referencia: String - modelo: int - placa: String - color: String - valor: int +crearVehiculo(marcaN:String, referenciaN: String, modeloN: int, placaN:String, colorN: String, valorN: int): void +cambiarValor(valorNuevo: int): void +calcularImpuesto(void): double En código Java la relación de asociación se convierte en un atributo para la clase de la cual sale la relación, en este caso para la clase Persona. Veamos el código fuente de la clase Persona en la siguiente diapositiva Retomando el diagrama de clases, recordemos que la clase Persona conoce a la clase Vehiculo, es decir que la relación de asociación nos indica que cada objeto de la clase Persona tiene un objeto de la clase Vehiculo
  • 16. Creación de clases en Java De la misma manera que se creó la clase Vehiculo, se crea la clase Persona Se escriben los atributos propios de clase con su modificador, tipo de dato y nombre Como la relación de asociación se convierte en atributo, el tipo de dato del atributo será el nombre de la Clase con la cual se tiene la relación El tipo del atributo es Vehiculo (nombre de la clase) El nombre del atributo en este caso es vehiculo (con minúscula porque es el atributo) A la izquierda de la definición de atributos aparecen bombillos amarillos que significan Warning (mensaje de prevención). En este caso nos indica que no ha sido utilizado ninguno de los atributos definidos. Cuando adicionemos los métodos se soluciona. esto
  • 17. Diagrama de objetos Para entender mejor lo que significa que un objeto tenga atributos que son a su vez objetos de otra clase, pensemos en el ejemplo que estamos trabajando. La siguiente es una imagen que nos muestra los objetos que existirían en el mundo computacional si queremos representar a una persona con docId (documento de identidad): 345, nombre: Carlos, apellido: Suárez, fecha de nacimiento: 27/12/1990 y género: m, que a su vez tiene (es propietaria) el vehículo con marca: Renault, referencia: logan, modelo: 2009, placa: GRS123 y color: gris p: Persona docId: “345” nombre: “Carlos” apellido: “Suárez” fechaNac: “27/12/1990” genero: ‘m’ vehiculo: v: Vehiculo marca“Renault” referencia: “Logan” modelo: 2009 placa: “GRS123” color: “Gris” Esta caja representa a un objeto llamado v de la clase Vehiculo Esta caja representa a un objeto llamado p de tipo Persona El objeto v de la clase Vehiculo es el dato que iría asignado al atributo vehiculo del objeto p de la clase Persona Este es el DIAGRAMA DE OBJETOS de UML y nos ayuda a entender mejor los objetos involucrados en el modelo computacional y sus relaciones
  • 18. FechaEmpleado - cedula: String - nombre: String - apellido: String - genero: char - salario: int Fecha de nacimiento 1 - dia: int - mes: int - anio: int métodos métodos Fecha de ingreso 1 public class Fecha{ private int dia; private int mes; private int anio; } public class Empleado{ private String cedula; private String nombre; private String apellido; private char genero; private int salario; private Fecha fechaNac; private Fecha fechaIng; } Atributos propios de la clase Atributos que salen de las relaciones Ejemplos – Diagrama de clases a java
  • 19. EditorialLibro - isbn: String - titulo: String - anio: int - precio: int Pertenece a 1 - codigo: int - nombre: String - anio: int métodos métodos public class Editorial{ private int codigo; private String nombre; private int anio; } public class Libro{ private String isbn; private String titulo; private int anio; private int precio; private Editorial editorial; } Ejemplos – Diagrama de clases a java
  • 20. Fecha Persona - cedula: String - nombre: String - apellido: String - genero: char Fecha de nacimiento 1 - dia: int - mes: int - anio: int métodos métodos Ciudad - codigo: int - nombre: String - indicativo: int métodos ciudad de nacimiento 1 ciudad de residencia 1 public class Persona{ private String cedula; private String nombre; private String apellido; private char genero; private Fecha fechaNac; private Ciudad ciudadNac; private Ciudad ciudadRes; } public class Fecha{ private int dia; private int mes; private int anio; } public class Ciudad{ private int codigo; private String nombre; private int indicativo; } Ejemplos