Beruflich Dokumente
Kultur Dokumente
(Apuntes)
Primero debemos tener en claro el diagrama de clases denominado diagrama UML (Lenguaje
unificado de modelado por sus siglas en ingls, Unified Modeling Language)
Profesor
- nombres: String
- apellidos: String
- no_cedula:String
- especialidad:String
- estado:boolean = false
+ jubilado ()
+ nojubilado ()
Donde:
-
=>
private
=>
publica
=>
protected
#
Pasos:
1) Modelar propiedades:
2) Encapsular propiedades:
Generar los mtodos Setter y Getter
En el IDE de desarrollo NetBeans hacer los siguientes pasos:
Nombre de la
clase
Propiedades
Mtodos
Vemos que para cada campo o propiedad se generan los mtodos Setter y Getter
3) Establecer el mtodo: (se puede hacerlo independiente de los setter y getter)
HERENCIA EN JAVA
La herencia facilita la creacin de objetos a partir de otros ya existentes e implica que una
subclase obtiene todo el comportamiento (mtodos) y eventualmente los atributos (variables)
de su superclase.
Crculo
Ejemplo
+
dibujar (): void
Figura
Clase padre
- color: int
+ dibujar (): void
+ mover (): void
Triangulo
Rectngulo
+ voltearHoriz():
void
+ voltearVert(): void
+ dibujar(): void
+ dibujar(): void
1) En netbeans creamos las cuatro clases, y solo en la clase padre creamos el mtodo dibujar,
para luego hacer la herencia en las subclases.
Sub
clases
2) La palabra reservada para hacer la herencia es: extends la cual le agregamos a cada una de las
sub clases.
4) Vamos a poder ver las opciones que nos da netbeant a la hora de poder programar.
No hemos creado el mtodo dibujar dentro de crculo porque estamos heredando el mtodo que
hemos establecido en la clase padre figura.
Pero si vamos a la subclase Circulo y agregamos el mtodo dibujar con la respectiva instruccin
observamos que se cambia.
EJERCICIO
Crea un proyecto llamado, libro infantil e implementa el diagrama de clases adjunto, creando un
objeto de cada clase y llamando a todos sus mtodos pblicos, si los hay.
Libro
# titulo: String
# ISBN: String
# abierto: Boolean = false
# numPaginas: int
# paginaActual: int=0
+ abrir ()
+ cerrar ()
LibroInfantil
- edadRecomendada: int =18
-
esRecomendable
(edadNinio:int):
Boolean
1) Creamos las clases Libro y LibroInfantil dentro de un proyecto con un nombre de
proyecto relacionado al tema.
2) Luego agregamos sus propiedades y mtodos; ojo que la clase LibroInfantilClass debe
heredar de la clase libro tal como muestra el diagrama UML (extends).
3) Ahora segn indica el diagrama UML en la clase LibroInfantilClass dentro del mtodo
debemos indicar si la edad es igual a edadRecomendada nos activar true caso contrario
false, para lo cual agregamos el siguiente cdigo.
Pero si nos damos cuenta al enviar a correr el programa nos genera un mensaje contrario al
esperado, ya que la edad que se ha fijado dentro del mtodo es 5. Esto sucede ya que en la clase
LibroInfantilClass hemos fijado la edad en 18:
Clases abstractas.Son las clases tanto explcitamente declaradas como abstractas como las que contienen mtodos
abstractos (no implementados). Excepto la capacidad de instanciacin, tienen las mismas
capacidades que una clase o tipo concreto.
Ejemplo:
<<Interface>>
Sonoro
Trompeta
Tambor
Instrumentomusical
Sirena
Explicacin:
Tenemos el interface sonoro que provee el mtodo sonar con un volumen concreto.
A esta interface le implementan dos clases: instrumento musical y sirena
Instrumento musical y sirena no tienen nada que ver entre s, pero los dos suenan.
abstracta nunca vamos a generar un objeto que sea instrumento musical. Su funcin en
este caso es evitar que generemos por error un objeto de tipo instrumentomusical solo
podremos instanciar objetos de tipo trompeta y tambor.
5) La clase Sirena segn el diagrama no est definido como abstractos por ende debemos
utilizar la ayuda de neatbeans para generar los mtodos abstractos y el throw de una
excepcin.
6) En el throw que nos genera podemos borrarlo y escribir el cdigo que deseamos.
7) Mientras que las clases Trompeta y Tambor heredan (extends) de la clase abstracta
intrumentomusical.
Lo que provoca que tambin deba generar los mtodos abstractos.
Borrar el Throw para aadir mi cdigo.
8) Finalmente podemos generar objetos de todas las clases concretas menos de la clase
abstracta.
dentro del nuevo paquete podemos generar una nueva clase con un nombre repetido
pero no halla ningn problema.
Estructura de datos
En programacin es una forma de ordenar un conjunto de datos elementales con el
objetivo de facilitar su manipulacin.
Un dato elemental es la mnima informacin que se tiene en un sistema.
En nuestro caso un int, doubl, objeto, puede ser nuestro dato elemental.
ARRAYS
En programacin una matriz o vector llamado tambin array es una zona de
almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los
elementos de la matriz.
Ejemplo:
ejemplo:
crea un proyecto llamado EjercicioGrupoAlumno y modela las clases grupo y alumno
que aparecen en el diagrama, adems de la conexin entre ellas (en grupo, tendrs que
crear un array de objetos Alumno)
Ten en cuenta que cada grupo tiene un mximo de 5 alumnos conectados.
Alumno
- nombre: String
- apellidos: String
- DNI: String
- telfono: String
Grupo
- codigo: String
1)
iii)
iv)
}
Dentro del constructor Grupo crear un nuevo array de referencias alumnos
alumnos = new Alumno [5];
Instanciar desde aqu y generar 5 alumnos en un for
Figura 3. En la clase Grupo digitamos el cdigo para crear el array Copyright 2016 por Aulavir
3) Luego hay que ir al programa principal para instanciar el constructor Grupo, el cual
ejecutar el cdigo que hemos escrito.
public static void main(String[] args) {
Grupo g1= new Grupo ();
}
para poder ver lo que sucede en este cdigo, fijamos un punto de ruptura en la lnea de cdigo y
lanzar el programa en modo depuracin.
LISTAS
TIPOS GENRICOS
Son clases o interfaces parametrizados mediante tipos de datos.
Ejemplo:
public class Box {
private Object object;
public void set(Object object) { this.object = object; }
public Object get() { return object; }
}
En este ejemplo se crea un objeto de tipo Box que almacene un objeto genrico en este caso esta
en la referencia object
Utilizan la parametrizacin que son los signos menor y mayor que aparecen al lado del nombre
de la clase la letra T es una como una plantilla.
Aqu tenemos una coleccin de elementos en una secuencia particular que mantienen un orden y
permite duplicados.
El interfaz List<E> define una serie de mtodos bsicos que podemos utilizar:
Mtodos de List <E>
. add (Object o: aade un objeto al final de la lista.
Ejercicio
Creamos un nuevo proyecto ejemplolistas con la clase Pelcula
Figura 10. Mtodos Setter y Getter en Java Copyright 2016 por Aulavir
Y se generan los mtodos en el programa:
/**
* @return the titulo
*/
public String getTitulo() {
return titulo;
}
/**
* @param titulo the titulo to set
*/
public void setTitulo(String titulo) {
this.titulo = titulo;
}
/**
* @return the sinopsis
*/
public String getSinopsis() {
return sinopsis;
}
/**
* @param sinopsis the sinopsis to set
*/
public void setSinopsis(String sinopsis) {
this.sinopsis = sinopsis;
}
/**
* @return the anyo
*/
public int getAnyo() {
return anyo;
}
/**
* @param anyo the anyo to set
*/
public void setAnyo(int anyo) {
this.anyo = anyo;
}
luego procedemos a fabricar dos objetos:
public class Ejemplolistas {
Figura 11. Ayuda de Netbeans, importar java.util.list Copyright 2016 por Aulavir
Luego generamos la lista
lista = new ArrayList<>();
como podemos darnos cuenta hemos colocado una implementacin de List, el arraylist y los
"()" del constructor.
Si sale error es porque debemos importar la clase arraylist
Figura 12. Ayuda de Netbeans, importar ArrayList Copyright 2016 por Aulavir
Ahora ya podemos pedirle a nuestra lista que almacene los objetos creados
lista.add(Pelicula1);
lista.add(Pelicula2);
Practica