codigo del robot
CODIGO DE  LA CLASE JPANEL
 
package herenciarobot;

import java.awt.Color;
import java.awt.Graphics ;
// Estas líneas son para importar librerías.

public class panel1 extends javax.swing.JPanel {
private int x = 40;
private int y = 58;
private int c = 3;
private int z = 3;
//Declaramos las variables de tipo entero.

public panel1() {
initComponents();}

@Override
public void paint(Graphics g) {

g.setColor(Color.orange);
g.drawLine(0, 0, 375, 0);
g.drawLine(0, 75, 375, 75);
g.drawLine(0, 150, 375, 150);
g.drawLine(0, 225, 375, 225);
g.drawLine(0, 300, 375, 300);
g.drawLine(0, 375, 375, 375);

g.drawLine(0, 0, 0, 375);
g.drawLine(75, 0, 75, 375);
g.drawLine(150, 0, 150, 375);
g.drawLine(225, 0, 225, 375);
g.drawLine(300, 0, 300, 375);
g.drawLine(375, 0, 375, 375);
// En este bloque de código se va a sobrescribir el método paint el cual se ejecuta automáticamente, en este método lo que vamos hacer es dibujar seis líneas verticales y seis líneas horizontales, también escogemos el color del lápiz que vamos a dibujar.

String h = "<-->";
g.drawString(h, x, y );}
// Declaramos una variable string h.

@SuppressWarnings("unchecked")

public void Izquierda (){
if (this.c > 1){
this.c -- ;
this.x-=73;
repaint();}}

public void Derecha (){
if(this.c < 5){
this.c ++;
this.x+=73;
repaint ();}}

public void Arriba (){
if(this.z<5){
this.z++;
this.y-=73;
repaint ();}}

public void Abajo(){
if(this.z>1){
this.z --;
this.y+=73;
repaint ();}}}
// Usamos cuatro métodos para mover al robot a los distintos puntos como son izquierda, derecha, arriba, abajo.




CODIGO DE  LA CLASE JFRAME

package herenciarobot;

public class frame25555 extends javax.swing.JFrame {

public frame25555() {
initComponents();}
@SuppressWarnings("unchecked")

private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
}
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
panel11.Derecha(); }
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
panel11.Izquierda();}
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
panel11.Arriba(); }
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
panel11.Abajo();}

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new frame25555().setVisible(true);
}}); }
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JButton jButton6;
private javax.swing.JButton jButton7;
private javax.swing.JButton jButton8;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JTextField jTextField1;
private herenciarobot.panel1 panel11;}






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

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