Ejemplo de Herencia en JAVA
En este blog compartiremos nuestros conocimientos adquiridos en el curso de Taller de Programación I acerca de la Programación Orientada a Objetos y su implementación en Java
sábado, 31 de octubre de 2015
martes, 27 de octubre de 2015
HERENCIA
La herencia es uno de los cuatro pilares de la programación orientada a objetos que consiste en la creación de nuevas clases(clase hija o derivada) a partir de otras ya existentes(clase padre o superclase) y ésta tendrá todos los atributos y métodos de su "superclase". Por ejemplo un niño hereda los apellidos paternos de sus padres como también ciertas facetas físicas o del comportamiento de sus progenitores.
La herencia es una característica fundamental que distingue el lenguaje orientado a objetos. Existen dos tipos de herencia:
- Herencia simple(sólo una superclase).
- Herencia múltiple(más de dos superclases), ésta última no lo soporta java.
- Reutilización del código.
- Ahorro de tiempo y dinero.
En UML se representa de la siguiente manera:
La codificación es la siguiente:
Clase padre: Persona, es una clase abstracta
Clase padre: Persona, es una clase abstracta
package blogger; package blogger; public abstract class Persona { protected String nombre; protected String DNI; protected int edad; public Persona(String nombre, String DNI, int edad) { this.nombre = nombre; this.DNI = DNI; this.edad = edad; } public abstract void mostrar(); }Clase hija: Estudiante
1 /**package blogger;
public class Estudiante extends Persona{
protected String codigo;
protected String facultad;
public Estudiante(String nombre, String DNI, int edad, String codigo, String facultad) {
super(nombre, DNI, edad);
this.codigo=codigo;
this.facultad=facultad;
}
public void mostrar(){
System.out.println("Nombre: "+this.nombre);
System.out.println("DNI: "+this.DNI);
System.out.println("Edad: "+this.edad);
System.out.println("Código: "+this.codigo);
System.out.println("Facultad: "+this.facultad);
}
}
jueves, 22 de octubre de 2015
SENTENCIA DE CONTROL switch
En Java, switch es una sentencia que se utiliza para elegir una de
entre múltiples opciones; es especialmente útil cuando la selección se basa en el
valor de una variable simple o de una expresión simple denominada expresión
de control o selector; el valor de dicha expresión puede ser de
tipo int o char pero no de tipo double.
Sintaxis
switch (selector)
{
case etiqueta1 : sentencias1 ;
break;
case etiqueta2 : sentencias2 ;
break;
.
.
.
case etiquetan : sentenciasn ;
break;
default: sentenciasd ; //
opcional
}
La
expresión de control o selector se evalúa y compara con cada una de las
etiquetas de case; además, debe ser un tipo ordinal, por ejemplo, int, char, bool
pero no float o string; cada etiqueta es un valor único, constante y debe tener
un valor diferente de los otros. Si el valor de la expresión es igual a una de
las etiquetas case, por ejemplo etiqueta1,
entonces la ejecución comenzará con la primera sentencia de sentencias1
y continuará hasta encontrar break o el final de switch. El tipo de cada
etiqueta debe ser el mismo que la expresión de selector; las expresiones están
permitidas como etiquetas pero sólo si cada operando de la expresión es por sí misma
una constante; por ejemplo, 4, +8 o m*15, siempre que m hubiera sido definido anteriormente
como constante nombrada. Si el valor del selector no está listado en ninguna
etiqueta case no se ejecutará ninguna de las opciones a menos que se
especifique una acción predeterminada. La omisión de una etiqueta default puede
crear un error lógico difícil de prever; aunque ésta es opcional, se recomienda
su uso, a menos de estar absolutamente seguro de que todos los valores de selector
están incluidos en las etiquetas case.
Sentencia break
Para alterar el flujo de control de una sentencia de selección
múltiple o de los bucles, existe la sentencia break la cual termina el bucle.
Sintaxis
break;
break
etiqueta;
Una sentencia break consta de la misma palabra reservada seguida
por un punto y coma; cuando la computadora ejecuta las sentencias siguientes a
una etiqueta case, continúa hasta que se alcanza una sentencia break; al
hacerlo, la computadora termina la sentencia switch.
Si se omiten las sentencias break después de ejecutar el código case, la computadora ejecutará el código siguiente hasta el
próximo case.
Ejemplo 1
switch (opcion)
{
case 0:
System.out.println("Cero!");
break;
case 1:
System.out.println("Uno!");
break;
case 2:
System.out.println("Dos!");
break;
default:
System.out.println("Fuera de
rango!");
}
Ejemplo 2
switch (opcion)
{
case 0:
case 1:
case 2:
System.out.println("Menor que
3!");
break;
case 3:
System.out.println("Igual a 3!");
break;
default:
System.out.println("Mayor que
3!");
}
Nota:
ECAUCIÓN
Si se olvida break en una sentencia switch, el compilador no
emitirá mensaje de error pues se habrá escrito una sentencia switch correcta en
cuanto a sintaxis, pero no realizará las tareas asignadas.
Sentencia break en bucles
La
sentencia break a veces se utiliza para realizar una terminación anormal del
bucle o antes de lo previsto; su sintaxis es:
break;
La
sentencia break se utiliza para la salida de un bucle while, do-while o for, aunque
su uso más frecuente es dentro de una sentencia switch.
while (condición1)
{
if (condición2)
break;
// sentencias
}
Sentencia continue
Esta sentencia se utiliza en el contexto de un bucle y hace que la
ejecución prosiga con la siguiente iteración saltando las sentencias que están
a continuación; en bucles while/dowhile, la ejecución prosigue con la condición
de control del bucle, mientras que en bucles for, la ejecución prosigue con la
expresión de incremento. Su sintaxis es la siguiente:
continue;
continue etiqueta;
Ejemplo:
for (cuenta = 1; cuenta <=
100; cuenta++)
{
System.out.print ("Introduzca un número, -1, Salir: ");
n = en.nextIn( );
if (n < 0) continue;
suma += n: // no se ejecuta si n < 0
}
En este caso, la sentencia
continue salta a la sentencia cuenta++ de la expresión
del bucle for.
domingo, 18 de octubre de 2015
BUCLES
CONCEPTO GENERAL DE BUCLE
Nos referimos a estructuras de repetición o bucles en alusión a instrucciones que permiten la repetición de procesos un número n de veces. Los bucles se pueden materializar con distintas instrucciones como for, while, etc. Un bucle se puede anidar dentro de otro dando lugar a que por cada repetición del proceso exterior se ejecute n veces el proceso interior. Lo veremos con ejemplos.
BUCLE FOR
La construcción de bucle básico en el lenguaje Java es la sentencia for, que le permite iterar un rango de valores para determinar cuántas veces ejecutar un bucle. La sintaxis abstracta para un bucle for es:
Escribe el siguiente código en tu entorno de desarrollo, ejecuta el método main de esta clase y comprueba los resultados:
bucle_For.java
BUCLE WHILE
Estos bucles se utilizan cuando queremos repetir la ejecución de unas sentencias un número indefinido de veces, siempre que se cumpla una condición. Se más sencillo de comprender que el bucle FOR, pues no incorpora en la misma línea la inicialización de las variables su condición para seguir ejecutándose y su actualización. Sólo se indica, como veremos a continuación, la condición que se tiene que cumplir para que se realice una iteración un ejemplo:
bucle_while.java
bucle_do_while.java
Nos referimos a estructuras de repetición o bucles en alusión a instrucciones que permiten la repetición de procesos un número n de veces. Los bucles se pueden materializar con distintas instrucciones como for, while, etc. Un bucle se puede anidar dentro de otro dando lugar a que por cada repetición del proceso exterior se ejecute n veces el proceso interior. Lo veremos con ejemplos.
BUCLE FOR
La construcción de bucle básico en el lenguaje Java es la sentencia for, que le permite iterar un rango de valores para determinar cuántas veces ejecutar un bucle. La sintaxis abstracta para un bucle for es:
Escribe el siguiente código en tu entorno de desarrollo, ejecuta el método main de esta clase y comprueba los resultados:
C:\Users\Dantecitoo\Documents\NetBeansProjects\EJEMPLO1\src\bucle_For.java |
1 /** 2 * @author Dante 3 */ 4 public class bucle_For { 5 6 public static void main (String [ ] args) { 7 for (int i = 0; i < 5; i++) { //Repite Gracias cinco veces 8 System.out.println ("Gracias"); 9 } 10 for (int i=0; i < ("Gracias").length(); i++) { //Va devolviendo en cada iteración una letra más de la cadena 11 System.out.println ("Gracias".substring (0, i+1) ); 12 } 13 14 } 15 16 } 17
BUCLE WHILE
Estos bucles se utilizan cuando queremos repetir la ejecución de unas sentencias un número indefinido de veces, siempre que se cumpla una condición. Se más sencillo de comprender que el bucle FOR, pues no incorpora en la misma línea la inicialización de las variables su condición para seguir ejecutándose y su actualización. Sólo se indica, como veremos a continuación, la condición que se tiene que cumplir para que se realice una iteración un ejemplo:
C:\Users\Dantecitoo\Documents\NetBeansProjects\EJEMPLO1\src\bucle_while.java |
1 /** 2 * 3 * @author Dante 4 */ 5 public class bucle_while { 6 7 public static void main (String [ ] args) { 8 int i = 1; // inicializacion 9 while (i<=10) { // condicion de repeticion 10 System.out.println(i*3.5); // cuerpo 11 i++; // iteracion 12 } 13 } 14 } 15 16
El cuerpo se realizara mientras la condición de repetición sea verdadera true
BUCLE DO_WHILE
El bucle do...while es la última de las estructuras para implementar repeticiones de las que dispone en Javascript y es una variación del bucle while visto anteriormente. Se utiliza generalmente cuando no sabemos cuantas veces se habrá de ejecutar el bucle, igual que el bucle WHILE, con la diferencia de que sabemos seguro que el bucle por lo menos se ejecutará una vez, ejemplo:
C:\Users\Dantecitoo\Documents\NetBeansProjects\EJEMPLO1\src\bucle_do_while.java |
1 /** 2 * 3 * @author Dante 4 */ 5 public class bucle_do_while { 6 7 public static void main (String [ ] args) { 8 9 int i = 1; // inicializacion 10 do { 11 System.out.println(i*3.5); // cuerpo 12 i++; // iteracion 13 } while ( i <= 10 ); // condicion 14 15 } 16 } 17 18
Realiza la condicion de
repetición al finalizar el bloque.
jueves, 15 de octubre de 2015
ESTRUCTURAS SELECTIVAS: IF....ELSE, SWITCH
En la implementación de programas es muy usual el tener que tomar una decisión, ya sea el uso de un valor específico o a la ejecución de una función determinada, en forma general, a la ejecución de una determinada acción.
Debemos tener en cuenta que una toma de decisiones siempre nos da un valor de verdad o falso, por ejemplo, a la pregunta ¿Tengo hambre? si la respuesta es positiva comeré, en caso contrario no lo haré.
Las estructura condicional if..else(si..entonces), es aquella que nos permite tener obtener un resultado lógico para a toma de decisiones. Por otro lado hay situaciones en las que nos veremos en la necesidad de realizar mas de una acción dado un determinado valor, para este caso usaremos la estructra switch(en caso de).
A continuación veremos el desarrollo de las estructuras mencionadas y su utilización en el desarrollo de programas.
ESTRUCTURA IF...ELSE (ALTERNATIVA DOBLE)
Esta estructura permite tomar decisiones en ambos sentidos, es decir cuando la sentencia de comparación sea verdadero o cuando sea falso, en otras palabras cuando la respuesta de la comparación sea verdadera se ejecutarán una o más acciones, así mismo si la respuesta es falsa se ejecutarán acciones diferentes. Veamos un ejemplo:
Escriba un programa que pida el ingreso de un número entero y muestre un mensaje diciendo si el número es mayor o menor que 15.
package blogger;
import java.util.Scanner;
public class If_else {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int numero;
System.out.println("Ingrese un número entero...");
numero = entrada.nextInt();
if (numero > 15) {
System.out.println("El número ingresado es mayor que 15");
} else {
if (numero < 15) {
System.out.println("El numero ingresado es menor que 15");
} else {
System.out.println("En numero ingresado es igual a 15");
}
}
}
}
ESTRUCTURA SWITCH (SELECCIÓN MÚLTIPLE)
La estructura de selección múltiple permite que el flujo del programa se desvíe por varias ramas en el punto de la toma de decision(es), esto en función del valor que tome el selector. Cuando se usa la sentencia "switch" el control se transfiere al punto etiquetado "case" cuya expresión constante coincida con el valor de la variable del "switch". Veamos un ejemplo.
Elabore un programa que pida el ingreso de dos números y permita usar las cuatro operaciones básicas.
package blogger;
import java.util.Scanner;
public class Switch {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int numero1, numero2, opcion;
System.out.print("Ingrese el primer número entero...");
numero1 = entrada.nextInt();
System.out.print("Ingrese el segundo número entero...");
numero2 = entrada.nextInt();
System.out.println("Ingrese la operación deseada:");
System.out.println("[1]<---- +");
System.out.println("[2]<---- -");
System.out.println("[3]<---- *");
System.out.println("[4]<---- /");
opcion = entrada.nextInt();
switch (opcion) {
case 1:
System.out.println("La suma es: " + (numero1 + numero2));
break;
case 2:
System.out.println("El resto es: " + (numero1 - numero2));
break;
case 3:
System.out.println("El producto es: " + (numero1 * numero2));
break;
case 4:
try{
System.out.println("El cociente es: "+ (numero1 / numero2));
}catch(Exception e){
System.out.println("ERROR "+e.getMessage());
}
break;
}
}
}
martes, 13 de octubre de 2015
SOLUCIÓN DE LA PRIMERA EVALUACIÓN
PREGUNTA 1:
Crea una clase Cuenta (bancaria) con atributos
para el número de cuenta (un entero largo), el DNI del cliente (otro entero
largo), el saldo actual y el interés anual que se aplica a la cuenta
(porcentaje). Define en la clase los siguientes métodos:
a.
Constructor por defecto y constructor con DNI,
saldo e interés
b.
Accedentes y mutadores. Para el número de cuenta
no habrá mutador.
c.
actualizarSaldo(): actualizará el saldo de la
cuenta aplicándole el interés diario (interés anual dividido entre 365 aplicado
al saldo actual).
d.
ingresar(double): permitirá ingresar una
cantidad en la cuenta.
e.
retirar(double): permitirá sacar una cantidad de
la cuenta (si hay saldo).
Método que permita mostrar todos los datos de la
cuenta. El número de cuenta se asignará de forma correlativa a partir de
100001, asignando el siguiente número al último asignado.
SOLUCIÓN
package Pregunta1;
public class Cuenta {
static long numero_de_cuenta = 100001;
float DNI;
float saldo_actual;
float interes_anual;
//CONSTRUCTOR POR DEFECTO
public Cuenta() {
}
//CONSTRUCTOR CON DNI, SALDO E INTERÉS
public Cuenta(float DNI, float saldo_actual, float interes_anual) {
this.DNI = DNI;
this.saldo_actual = saldo_actual;
this.interes_anual = interes_anual;
}
//ACCEDENTES
public static long getNumero_de_cuenta() {
return numero_de_cuenta++;
}
public float getDNI() {
return DNI;
}
public float getSaldo_actual() {
return saldo_actual;
}
public float getInteres_anual() {
return interes_anual;
}
//MUTADORES.... Para el número de cuenta no habrá mutador
public void setDNI(float DNI) {
this.DNI = DNI;
}
public void setSaldo_actual(float saldo_actual) {
this.saldo_actual = saldo_actual;
}
public void setInteres_anual(float interes_anual) {
this.interes_anual = interes_anual;
}
//actualizarSaldo(): actualizará saldo de la cuenta aplicándole el interés diario
//(interés anual dividido entre 365 aplicado al saldo actual)
public float actualizarSaldo() {
float saldo_nuevo;
saldo_nuevo = saldo_actual + (saldo_actual * ((interes_anual / 100) / 365));
return saldo_nuevo;
}
//ingresar(double): permitirá ingresar una cantidad en la cuenta
public double ingresar(double cant_ingresada) {
double nuevo_monto;
nuevo_monto = actualizarSaldo() + cant_ingresada;
return nuevo_monto;
}
//retirar(double): permitirá sacar una cantidad de la cuenta (si hay saldo)
public double retirar(double cant_retiro) {
double nuevo_monto = 0;
if (this.saldo_actual >= cant_retiro) {
nuevo_monto = actualizarSaldo() - cant_retiro;
} else {
System.out.println("No hay saldo suficiente en su cuenta!!");
}
return nuevo_monto;
}
//Método que permita mostrar todos los datos de la cuenta. El número de
//cuenta se incrementa en 1 por cada cuenta ingresada
void mostrar(double ing, double ret) {
System.out.println("Numero de cuenta:" + Cuenta.getNumero_de_cuenta());
System.out.println("Número de DNI: " + this.DNI);
System.out.println("Interes anual:" + this.interes_anual);
System.out.println("Saldo actual:" + actualizarSaldo());
System.out.println("Saldo despues del ingreso realizado:" + ingresar(ing));
System.out.println("Saldo despues del retiro realizado:" + retirar(ret));
}
}
PREGUNTA 2
Crea una clase Libro que modele la información
que se mantiene en una biblioteca sobre cada libro: título, autor (usa la clase
Persona), ISBN, páginas, edición, editorial , lugar (ciudad y país) y fecha de
edición (usa la clase Fecha). La clase debe proporcionar los siguientes
servicios: accedentes y mutadores, método para leer la información y método
para mostrar la información. Este último método mostrará la información del libro
con este formato:
Título: Introductionto Java Programming 3a. edición
Autor: Liang, Y. Daniel
ISBN: 0-13-031997-X Prentice-Hall, New Jersey (USA),
viernes 16 de noviembre de 2001
784 páginas.
SOLUCIÓN
CLASE LIBRO
package Pregunta2;
import java.util.*;
public class Libro {
String titulo;
Persona autor;
String ISBN;
int paginas;
String edicion;
String editorial;
String lugar;
Fecha fecha_edicion;
public Libro() {
}
public Libro(String titulo, Persona autor, String ISBN, int paginas, String edicion, String editorial, String lugar, Fecha fecha_edicion) {
this.titulo = titulo;
this.autor = autor;
this.ISBN = ISBN;
this.paginas = paginas;
this.edicion = edicion;
this.editorial = editorial;
this.lugar = lugar;
this.fecha_edicion = fecha_edicion;
}
//ACCEDENTES Y MUTADORES
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public Persona getAutor() {
return autor;
}
public void setAutor(Persona autor) {
this.autor = autor;
}
public String getISBN() {
return ISBN;
}
public void setISBN(String ISBN) {
this.ISBN = ISBN;
}
public int getPaginas() {
return paginas;
}
public void setPaginas(int paginas) {
this.paginas = paginas;
}
public String getEdicion() {
return edicion;
}
public void setEdicion(String edicion) {
this.edicion = edicion;
}
public String getEditorial() {
return editorial;
}
public void setEditorial(String editorial) {
this.editorial = editorial;
}
public String getLugar() {
return lugar;
}
public void setLugar(String ciudad,String pais) {
this.lugar = ciudad+"("+pais+")";
}
public Fecha getFecha_edicion() {
return fecha_edicion;
}
public void setFecha_edicion(Fecha fecha_edicion) {
this.fecha_edicion = fecha_edicion;
}
//Método para leer la información
public void leer(Persona p, Fecha f){
Scanner sc=new Scanner(System.in);
System.out.println("INGRESE LOS DATOS DEL LIBRO");
System.out.print("Titulo: ");
this.titulo=sc.nextLine();
System.out.println("Datos del autor ");
System.out.print("Nombre: ");
p.nombre=sc.nextLine();
System.out.print("Apellido: ");
p.apellido=sc.nextLine();
System.out.print("ISBN del libro: ");
this.ISBN=sc.nextLine();
System.out.print("Paginas: ");
this.paginas=sc.nextInt();
System.out.print("Edición: ");
this.edicion=sc.nextLine();
System.out.print("Editorial: ");
this.editorial=sc.nextLine();
System.out.println("Lugar ");
System.out.print("Ciudad: ");
String ciudad=sc.nextLine();
System.out.print("Pais: ");
String pais=sc.nextLine();
this.setLugar(ciudad, pais);
System.out.print("Fecha de edicion ");
System.out.println("Dia de la semana: ");
f.día_semana=sc.nextLine();
System.out.print("Dia del mes: ");
f.dia_mes=sc.nextInt();
System.out.print("Mes: ");
f.mes=sc.nextLine();
System.out.print("Año: ");
f.anio=sc.nextInt();
}
//Método para mostrar la información
public void mostrar(Persona p, Fecha f){
System.out.print("Titulo: "+this.titulo+", "+this.edicion);
System.out.print("\nAutor: "+p.nombre+", "+p.apellido);
System.out.print("\nISBN: "+this.ISBN+" "+this.editorial+", "+this.lugar+", "+f.día_semana+" "+f.dia_mes+" de "+f.mes+" de "+f.anio);
System.out.print("\n"+this.paginas+" páginas");
}
}
CLASE PERSONA
package Pregunta2;
public class Persona {
String nombre;
String apellido;
public Persona() {
}
public Persona(String nombre, String apellido) {
this.nombre = nombre;
this.apellido = apellido;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
}
CLASE FECHA
package Pregunta2;
public class Persona {
String nombre;
String apellido;
public Persona() {
}
public Persona(String nombre, String apellido) {
this.nombre = nombre;
this.apellido = apellido;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getApellido() {
return apellido;
}
public void setApellido(String apellido) {
this.apellido = apellido;
}
}
PREGUNTA 3:
Desarrolla una clase CD con los siguientes
atributos:
a.
canciones: un array de objetos de la clase
Cancion.
b.
contador: la siguiente posición libre del array
canciones. y los siguientes métodos:
c.
CD(): constructor predeterminado (creará el
array canciones).
d.
numeroCanciones(): devuelve el valor del
contador de canciones.
e.
dameCancion(int): devuelve la Cancion que se
encuentra en la posición indicada.
f. grabaCancion(int, Cancion): cambia la Cancion de
la posición indicada por la nueva Cancion proporcionada.
g.
agrega(Cancion): agrega al final del array la
Cancion proporcionada.
h. elimina(int):
elimina la Cancion que se encuentra en la posición indicada.
SOLUCIÓN
CLASE CD
package Pregunta3;
import java.util.ArrayList;
public class CD {
int contador = 0;
int tamaño_maximo = 20;
ArrayList canciones //Array de objetos de la clase Cancion
//CD(): Costructor predeterminado(creará arrar de canciones
public CD() {
canciones = new ArrayList(tamaño_maximo);
}
//numeroCanciones(): Devuelve el valor del contador de canciones
public int numeroCanciones() {
return canciones.size();
}
//dameCancion(int):devuelve la Cancion que se encuentra en la posición indicada
public Cancion dameCancion(int i) {
return (Cancion) canciones.get(i);
}
//grabaCancion(int,Cancion): cambia la Cancion de la posición indicada por la nueva Cancion proporcionada
public void grabaCancion(int i, Cancion c) {
canciones.set(i, c);
}
//agrega(Cancion): agrega al final del array la Cancion proporcionada
public void agrega(Cancion c) {
canciones.add(c);
}
//elimina(int): elimina la Cancion que se encuentra en la posición indicada.
public void elimina(int i) {
canciones.remove(i);
}
public void graba_Cancion(String nombre_cancion, Cancion c) {
int estado = 0;
for (int i = 0; i < this.numeroCanciones(); i++) {
if (dameCancion(i).nombre.equals(nombre_cancion)) {
estado = 1;
grabaCancion(i, c);
}
}
if (estado == 0) {
System.out.println("Cancion no encontrada!!");
}
}
public void eliminar_Cancion(String nombre_cancion, Cancion c) {
int estado = 0;
for (int i = 0; i < this.numeroCanciones(); i++) {
if (dameCancion(i).nombre.equals(nombre_cancion)) {
estado = 1;
canciones.remove(c);
}
}
if (estado == 0) {
System.out.println("Cancion no encontrada");
}
}
}
CLASE CANCION
package Pregunta3;
public class Cancion {
String nombre;
int duracion;
String autor;
public Cancion(String nombre, int duracion, String autor) {
this.nombre = nombre;
this.duracion = duracion;
this.autor = autor;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getDuracion() {
return duracion;
}
public void setDuracion(int duracion) {
this.duracion = duracion;
}
public String getAutor() {
return autor;
}
public void setAutor(String autor) {
this.autor = autor;
}
public void mostrar(){
System.out.println("Nombre: "+this.nombre);
System.out.println("Duracion: "+this.duracion);
System.out.println("Autor: "+this.autor);
}
}
Suscribirse a:
Entradas (Atom)