1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package clases; 7 8 /** 9 * 10 * @author igor 11 */ 12 public class Autor { 13 String nombre; 14 String apelllidos; 15 int edad; 16 String direccion; 17 String telefono; 18 int numLibros; 19 20 //constructor por defecto 21 public Autor(){ 22 //llamada al constructor que recibe parametros 23 this("Undefined", "Undefined", 0, "Undefined", "Undefined", 0); 24 } 25 26 //constructor que recibe parametros 27 public Autor(String nombre, String apelllidos, int edad, 28 String direccion, String telefono, int numLibros) { 29 this.nombre = nombre; 30 this.apelllidos = apelllidos; 31 this.edad = edad; 32 this.direccion = direccion; 33 this.telefono = telefono; 34 this.numLibros = numLibros; 35 } 36 37 //los metodos toString() son utilizados para mostrar la informacion 38 //que contiene el objeto 39 @Override 40 public String toString() { 41 return "\nAutor{" 42 + "\nnombre=" + nombre 43 + "\napelllidos=" + apelllidos 44 + "\nedad=" + edad 45 + "\ndireccion=" + direccion 46 + "\ntelefono=" + telefono 47 + "\nnumLibros=" + numLibros + '}'; 48 } 49 } 50 51
La clase Autor en notación UML:
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package clases; 7 8 /** 9 * 10 * @author igor 11 */ 12 public class Coche { 13 String color; 14 double peso; 15 double kilometraje; 16 String marca; 17 double precio; 18 19 public Coche(String color, double peso, double kilometraje, 20 String marca, double precio) { 21 this.color = color; 22 this.peso = peso; 23 this.kilometraje = kilometraje; 24 this.marca = marca; 25 this.precio = precio; 26 } 27 28 } 29 30
La clase Coche en notación UML:
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package clases; 7 8 /** 9 * 10 * @author igor 11 */ 12 public class Computadora { 13 String codigo; 14 String tipo; 15 String modeloProcesador; 16 String modeloMemoriaRam; 17 int capacidadMemoriaRam; 18 String modeloDiscoDuro; 19 int capacidadDiscoDuro; 20 double precio; 21 double peso; 22 23 public Computadora(String codigo, String tipo, String modeloProcesador, 24 String modeloMemoriaRam, int capacidadMemoriaRam, 25 String modeloDiscoDuro, int capacidadDiscoDuro, 26 double precio, double peso) { 27 this.codigo = codigo; 28 this.tipo = tipo; 29 this.modeloProcesador = modeloProcesador; 30 this.modeloMemoriaRam = modeloMemoriaRam; 31 this.capacidadMemoriaRam = capacidadMemoriaRam; 32 this.modeloDiscoDuro = modeloDiscoDuro; 33 this.capacidadDiscoDuro = capacidadDiscoDuro; 34 this.precio = precio; 35 this.peso = peso; 36 } 37 } 38 39
La clase Computadora en notación UML:
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package clases; 7 8 import java.util.Calendar; 9 import java.util.GregorianCalendar; 10 11 /** 12 * 13 * @author igor 14 */ 15 public class CuentaBancaria { 16 String numeroCuenta; 17 String titular; 18 GregorianCalendar fechaCreacion; 19 double saldo; 20 String clave; 21 22 public CuentaBancaria(String numeroCuenta, String titular, 23 GregorianCalendar fechaCreacion, double saldo, String clave) { 24 this.numeroCuenta = numeroCuenta; 25 this.titular = titular; 26 this.fechaCreacion = fechaCreacion; 27 this.saldo = saldo; 28 this.clave = clave; 29 } 30 //algunos metodos de la clase CuentaBancaria 31 public void deposito(double cantidadDepositada){ 32 saldo = saldo + cantidadDepositada; 33 } 34 35 public String retiro(double cantidadRetirar){ 36 if(cantidadRetirar > saldo) 37 return "No cuenta con saldo suficiente :)"; 38 else{ 39 saldo = saldo - cantidadRetirar; 40 return "le quedan: "+saldo; 41 } 42 } 43 44 @Override 45 public String toString() { 46 return "\nCuentaBancaria{" 47 + "\nnumeroCuenta=" + numeroCuenta 48 + "\ntitular=" + titular 49 + "\nfechaCreacion=" + fechaCreacion.get(Calendar.DAY_OF_MONTH) 50 + "/" + (fechaCreacion.get(Calendar.MONTH)+1) 51 + "/" + fechaCreacion.get(Calendar.YEAR) 52 + "\nsaldo=" + saldo 53 + "\nclave=" + clave + '}'; 54 } 55 } 56 57
La clase CuetaBancaria en notación UML:
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package clases; 7 8 import java.util.Calendar; 9 import java.util.GregorianCalendar; 10 11 /** 12 * 13 * @author igor 14 */ 15 //creacion de la clase Disco a partir de esta clase podremos contruir 16 //discos :D 17 public class Disco { 18 //toda clase consta de atributos en este caso estos atributos son de 19 //intancia que significa esto? que por cada objeto creado a partir de 20 //esta clase osea por cada disco se tendra una copia de estos atributos. 21 String titulo; 22 int numCanciones; 23 double precio; 24 //en java toda clase se maneja como tipo de dato 25 //por eso podemos declarar la referencia fechaCompra de tipo 26 //gregorianCalendar, este es un objeto fecha y que informacion ofrece 27 //una fecha? pues el año, el dia, el mes, zona horaria... etc 28 GregorianCalendar fechaCompra; 29 30 //le creamos su constructor, el trabajo de este es crear al objeto e 31 //inicializar sus atributos hay 3 tipos de constructores en este caso 32 //utilizar el constructor que recibe parametros a para que sepan como 33 //identificar al constructor este tiene el mismo nombre que la clase 34 public Disco(String titulo, int numCanciones, double precio, 35 GregorianCalendar fechaCompra){ 36 //el por que declare parametros iguales a los atributos de la clase 37 //es para que saber que dato le asigno a quien, ademas aqui especifico 38 //con this.titulo que es el titulo que esta como atributo de la clase 39 //y el titulo sin this es el parametro que se recibe 40 this.titulo = titulo; 41 this.numCanciones = numCanciones; 42 this.precio = precio; 43 this.fechaCompra = fechaCompra; 44 } 45 46 //ademas estoy creando metodo toString() este es para mostrar la 47 //informacion del objeto ya creado 48 @Override 49 public String toString() { 50 return "\nCD:" 51 + "\nTitulo: "+titulo 52 + "\nNumero de Canciones: "+numCanciones 53 + "\nPrecio: "+precio 54 + "\nFecha de Compra: "+fechaCompra.get(Calendar.DAY_OF_MONTH) 55 // a y por que le sumo 1 por que GregorianCalendar considera 56 // a enero como mes = 0 57 + "/"+(fechaCompra.get(Calendar.MONTH)+1) 58 + "/"+fechaCompra.get(Calendar.YEAR); 59 } 60 } 61 //bueno ya esta la clase este el fin de esta clase ahora a probarla y para 62 //ello crear otra clase del nombre q se te ocurra en mi caso es la clase 63 //Pruebas ubicala en el paquete pruebas a este tambien lo creas :D 64 65
La clase Disco en notación UML:
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package clases; 7 8 import java.util.GregorianCalendar; 9 10 /** 11 * 12 * @author igor 13 */ 14 public class Docente { 15 String codigo; 16 String apellidos; 17 String nombres; 18 GregorianCalendar fechaIngreso; 19 double salario; 20 21 public Docente(String codigo, String apellidos, String nombres, 22 GregorianCalendar fechaIngreso, double salario) { 23 this.codigo = codigo; 24 this.apellidos = apellidos; 25 this.nombres = nombres; 26 this.fechaIngreso = fechaIngreso; 27 this.salario = salario; 28 } 29 } 30 31
La clase Docente en notación UML:
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package clases; 7 8 /** 9 * 10 * @author igor 11 */ 12 public class Empleado { 13 String dni; 14 String nombres; 15 String apellidos; 16 String direccion; 17 String telefono; 18 double salario; 19 20 public Empleado(String dni, String nombres, String apellidos, 21 String direccion, String telefono, double salario) { 22 this.dni = dni; 23 this.nombres = nombres; 24 this.apellidos = apellidos; 25 this.direccion = direccion; 26 this.telefono = telefono; 27 this.salario = salario; 28 } 29 } 30 31
La clase Empleado en notación UML:
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package clases; 7 8 /** 9 * 10 * @author igor 11 */ 12 public class Libro { 13 String ISBN; 14 String titulo; 15 int añoEdicion; 16 int numEdicion; 17 double precio; 18 String imagen; 19 String editorial; 20 String autores[]; 21 22 public Libro(String ISBN, String titulo, int añoEdicion, int numEdicion, 23 double precio, String imagen, String editorial, 24 String[] autores) { 25 this.ISBN = ISBN; 26 this.titulo = titulo; 27 this.añoEdicion = añoEdicion; 28 this.numEdicion = numEdicion; 29 this.precio = precio; 30 this.imagen = imagen; 31 this.editorial = editorial; 32 this.autores = autores; 33 } 34 } 35 36
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package clases; 7 8 /** 9 * 10 * @author igor 11 */ 12 public class Moneda { 13 String codISO; 14 String descripcion; 15 16 public Moneda(String codISO, String descripcion) { 17 this.codISO = codISO; 18 this.descripcion = descripcion; 19 } 20 } 21 22
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package clases; 7 8 import java.util.Calendar; 9 import java.util.GregorianCalendar; 10 11 /** 12 * 13 * @author igor 14 */ 15 16 public class Persona { 17 String nombre; 18 String apellidos; 19 GregorianCalendar fechaNacimiento; 20 String ocupacion; 21 String telefono; 22 23 public Persona(String nombre, String apellidos, 24 GregorianCalendar fechaNacimiento, String ocupacion, 25 String telefono) { 26 this.nombre = nombre; 27 // por error lo coloque como comentario pero le quitas estas barras -> this.apellidos = apellidos; 28 this.fechaNacimiento = fechaNacimiento; 29 this.ocupacion = ocupacion; 30 this.telefono = telefono; 31 } 32 33 public int getEdad(){ 34 //para calcular la edad se necesita la fecha actual facil 35 //crea un objeto de tipo GregorianCalendar e inicialo 36 GregorianCalendar fechaActual = new GregorianCalendar(); 37 //solo hay que restar el atributo year que representa el año 38 //el año actual menos el año de la fecha nacimiento 39 int edad = fechaActual.get(Calendar.YEAR) - fechaNacimiento.get( 40 Calendar.YEAR); 41 //con esto tenemos la edad, pero falta un detalle los meses y el dia 42 if(fechaActual.get(Calendar.MONTH) < fechaNacimiento.get( 43 Calendar.MONTH)) 44 edad = edad - 1; 45 else if(fechaActual.get(Calendar.MONTH) == fechaNacimiento.get( 46 Calendar.MONTH)){ 47 if(fechaActual.get(Calendar.DAY_OF_MONTH) < fechaNacimiento.get( 48 Calendar.DAY_OF_MONTH)) 49 edad = edad - 1; 50 } 51 return edad; 52 } 53 54 @Override 55 public String toString() { 56 return "\nPersona{" 57 + "\nnombre=" + nombre 58 + "\napellidos=" + apellidos 59 + "\nfechaNacimiento=" + fechaNacimiento.get( 60 Calendar.DAY_OF_MONTH) 61 // a y por que le sumo 1 por que GregorianCalendar considera 62 // a enero como mes = 0 63 + "/"+(fechaNacimiento.get(Calendar.MONTH)+1) 64 + "/"+fechaNacimiento.get(Calendar.YEAR) 65 + "\nedad=" + getEdad() 66 + "\nocupacion=" + ocupacion 67 + "\ntelefono=" + telefono + "}"; 68 } 69 70 } 71 72
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package clases; 7 8 /** 9 * 10 * @author igor 11 */ 12 public class Sucursal { 13 String nombre; 14 String direccion; 15 String ciudad; 16 int numEmpleados; 17 18 public Sucursal(String nombre, String direccion, String ciudad, 19 int numEmpleados) { 20 this.nombre = nombre; 21 this.direccion = direccion; 22 this.ciudad = ciudad; 23 this.numEmpleados = numEmpleados; 24 } 25 } 26 27
Probando algunas de las clases de aya arriba:
1 /* 2 * To change this template, choose Tools | Templates 3 * and open the template in the editor. 4 */ 5 6 package pruebas; 7 8 import clases.CuentaBancaria; 9 import clases.Disco; 10 import clases.Persona; 11 import java.util.GregorianCalendar; 12 13 /** 14 * 15 * @author igor 16 */ 17 public class Prueba { 18 //ya estamos dentro de la clase pruebas esta clase solo va tener un 19 //metodo que será tatatan jajaja el metodo main 20 public static void main(String[] args) { 21 //para empezar vamos a crear el primer Disco 22 // y se hace asi 23 //el nombre de la clase primero, luego el nombre de como quieres 24 //que se llame el objeto creado a partir de la clase y por ultimo 25 //lo creas con new llamando a su metodo constructor 26 Disco disco1 = new Disco("GianMarco - Resucitar", 10, 29.90, 27 new GregorianCalendar());// cuando creas un objeto de 28 //gregorianCalendar este se inicializa con la fecha actual del sistema. 29 //ahora a mostrar el disco por la consola 30 //invocando al metodo sobrecargado println(), del objeto out, de 31 //la clase System 32 System.out.println(disco1.toString()); 33 34 //creo otro objeto de la misma clase 35 Disco disco2 = new Disco("Bruno Mars", 8, 45.10, 36 new GregorianCalendar(2010, 0, 24));//tambien se le puede 37 //indicar la fecha invocando al constructor de gregrorianCalendar 38 //que recibe como parametros el año, mes y dia. 39 System.out.println(disco2.toString()); 40 //ahora crea mas discos y pruebalos 41 42 //prueba de la clase Persona 43 Persona p = new Persona("Igor Alexander", "Quispe Vasquez", 44 new GregorianCalendar(1990, 11, 4), "Estudiante", 45 "+51948528810"); 46 Persona p1 = new Persona("Walter ", "Campos Cabanillas", 47 new GregorianCalendar(2010, 6, 31), "Carnicero", 48 "+51949431346"); 49 System.out.println(p.toString()); 50 System.out.println(p1.toString()); 51 52 //prueba de la clase CuentaBancaria 53 CuentaBancaria cB = new CuentaBancaria("44599", "Manuel Lozano", 54 new GregorianCalendar(), 1000.0, "manu3"); 55 System.out.println(cB.toString()); 56 System.out.println("Vamos a retirar 2000.0: "+cB.retiro(2000.0)); 57 System.out.println("Tonces retirare 500.0: "+cB.retiro(500.0)); 58 59 } 60 61 } 62 63
run:
CD: Titulo: GianMarco - Resucitar
Numero de Canciones: 10
Precio: 29.9
Fecha de Compra: 31/7/2013
CD: Titulo: Bruno Mars
Numero de Canciones: 8
Precio: 45.1
Fecha de Compra: 24/1/2010
Persona{
nombre=Igor Alexander
apellidos=null
fechaNacimiento=4/12/1990
edad=22
ocupacion=Estudiante
telefono=+51948528810}
Persona{ nombre=Walter
apellidos=null
echaNacimiento=31/7/2010
edad=3
ocupacion=Carnicero
telefono=+51949431346}
CuentaBancaria{
numeroCuenta=44599
titular=Manuel Lozano
fechaCreacion=31/7/2013
saldo=1000.0
clave=manu3}
Vamos a retirar 2000.0: No cuenta con saldo suficiente :)
Tonces retirare 500.0: le quedan: 500.0
GENERACIÓN CORRECTA (total time: 1 second)
CD: Titulo: GianMarco - Resucitar
Numero de Canciones: 10
Precio: 29.9
Fecha de Compra: 31/7/2013
CD: Titulo: Bruno Mars
Numero de Canciones: 8
Precio: 45.1
Fecha de Compra: 24/1/2010
Persona{
nombre=Igor Alexander
apellidos=null
fechaNacimiento=4/12/1990
edad=22
ocupacion=Estudiante
telefono=+51948528810}
Persona{ nombre=Walter
apellidos=null
echaNacimiento=31/7/2010
edad=3
ocupacion=Carnicero
telefono=+51949431346}
CuentaBancaria{
numeroCuenta=44599
titular=Manuel Lozano
fechaCreacion=31/7/2013
saldo=1000.0
clave=manu3}
Vamos a retirar 2000.0: No cuenta con saldo suficiente :)
Tonces retirare 500.0: le quedan: 500.0
GENERACIÓN CORRECTA (total time: 1 second)







