codigo del programa biblioteca
CODIGO DE LA CLASE PUBLICACION (PADRE)


public class Publicacion {

private String nombre;
private String nombredeeditorial;
private int numCopias;
private static int numPublicaciones;
// Declaración de atributos string (cadena),  int (enteros), static int (variables estáticas).

public Publicacion(String nombre, String nombredeeditorial, int numCopias) {
this.nombre = nombre;
this.nombredeeditorial = nombredeeditorial;
this.numCopias = numCopias;
numPublicaciones ++; }
// Un constructor que recibe los atributos antes mencionados, también los iguala, incrementando numero de publicaciones.

public int getNumCopias() {
return numCopias;}
// Este es un método entero en el cual usamos la propiedad getter (lectura)y nos va a retornar el numero de copia.

public  void DatosBliblioteca(){
System.out.println("nombre : " + this.nombre);
System.out.println("nombredeeditorial : " + this.nombredeeditorial);
System.out.println("numCopias : " + this.numCopias);}}
//Un método DatosBliblioteca ()  para mostrar información de publicación.


CODIGO DE LA CLASE LIBRO (HIJA)

public class Libro extends Publicacion {
private String nombreautor;
private static int numLibro;
// Declarar Atributos de la clase libro los cuales son int (entero).

public Libro(String nombre, String nombredeeditorial, int numCopias, String nombreautor) {
super(nombre, nombredeeditorial, numCopias);
this.nombreautor = nombreautor;
numLibro ++ ;}
// Un constructor que recibe los atributos de la clase publicación mas el de la clase libro, se iguala el atributo de la clase libro e incrementamos  numero de libros.

public boolean esprestable(){
if(super.getNumCopias() > 1) return true;
else return false;}
//Método Boolean (true,false) que retorna verdadero si hay mas de una copia y falso si hay menos.

@Override
public void DatosBliblioteca() {
super.DatosBliblioteca();
System.out.println("libro");
System.out.println("Autor: "+this.nombreautor); }}
// Un método heredado de la clase publicación llamado DatosBliblioteca(), en el cual va a mostrar la información de la clase libro.

 

CODIGO DE LA CLASE REVISTA (HIJA)

public class Revista  extends Publicacion {

private boolean paraLeerEnCasa;
private static int numRevista;
// Declarar Atributos de la clase revista los cuales boolean (verdadero o falso).

public Revista(String nombre, String nombredeeditorial, int numCopias, boolean paraLeerEnCasa) {
super(nombre, nombredeeditorial, numCopias);
this.paraLeerEnCasa = paraLeerEnCasa;
numRevista ++; }
// Un constructor que recibe los atributos de la clase publicación mas el de la clase revista, se iguala el atributo de la clase libro e incrementamos numero de revista.

public boolean esPrestable (){
if((super.getNumCopias() >1) && (paraLeerEnCasa))
return true;
else
return false; }
//Método Boolean (true,false)  llamado esPrestable que retorna verdadero si hay mas de una copia y se puede leer en casa o falso si hay menos y no se puede leer en casa.

@Override
public void DatosBliblioteca() {
super.DatosBliblioteca();

if(paraLeerEnCasa)
System.out.println("la revista esta para leer en casa");
else
System.out.println("no disponible para la casa");
System.out.println("el numero de revista es : " + numRevista);} }
// Un método heredado de la clase publicación llamado DatosBliblioteca(), en el cual  con super.DatosBliblioteca() estamos llamando la información de la clase publicación donde vamos a mostrar son prestables o no.

       
       


CODIGO DE LA CLASE PRINCIPAL (PROCESOS)

public class Principal {

public static void main(String[] args) {
Libro [] s  = new Libro[3];
Revista [] r  = new Revista[3];
int i = 0;
int z = 0;
// Declaramos dos array uno para libro y otro para revista en el cual almacenaremos tres datos en cada uno de ellos, también declaramos dos variables enteran una para libro y la otra para revista inicializadas en cero.

s[i++] = new Libro("Aprenda Java ya!", "Desconocida", 1,"Jon Smith");
s[i++] = new Libro("Java en 5 minutos", "Rapida", 2, "Juan");
s[i++] = new Libro("Java en 4 minutos", "Mas rapida", 3, "Jua");
r[z++] = new Revista("Informatica para todos", "Infor", 4, true);
r[z++] = new Revista("PCs de colores", "Infor", 4, false);
r[z++] = new Revista("Sabes que...", "Cotilleos", 10, false);
// Creamos tres objetos para libro llamados S, y tres para revista llamado R.

System.out.println("************** Biblioteca Java *************");

System.out.println("N. de Libros: +i");
System.out.println("N. de revistas: +z ");
System.out.println(" total publicaciones: " + (i+z));
//  Luego imprimimos numero de libro, numero de revista y total publicaciones.

System.out.println("\nListado de publicaciones no prestables:");
int k = 0;
int l = 0;
while (k < 3){
if (s [k].esprestable())  s[k].DatosBliblioteca();
k ++;
while (l < 3){
if (r [l].esPrestable())  r[l].DatosBliblioteca(); }
// En esta parte del código utilizamos dos variables enteras inicializadas en cero, utilizando un while condicionamos  que si k es mayor  que 3 en este caso el 3 son el numero objeto.


System.out.println("\nListado de publicaciones prestables:");
k = 0;
l = 0;
while (k < 3){
if ( ! s [k].esprestable())  s[k].DatosBliblioteca();
k ++;
while (l < 3){
if (! r [l].esPrestable())  r[l].DatosBliblioteca();}}} }}



ANEXOS



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentarios:

Publicar un comentario