elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Herencia
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Herencia  (Leído 4,795 veces)
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
Herencia
« en: 19 Abril 2012, 04:07 am »

Saludos, estaba haciendo un codigo de tres clases heredadas (padre-hijos) y en las primeras lineas del main me salen errores y no se que estoy implementando mal
Código
  1. public class Electrodomestico {
  2. public String marca;
  3. public double precio;
  4. public int numPieza;
  5.  
  6. public Electrodomestico(String marcax, double preciox, int numPiezax){
  7. fijaMarca(marcax);
  8. fijaPrecio(preciox);
  9. fijaNumPieza(numPiezax);
  10. }
  11. public void fijaMarca(String marcax){
  12. marca=marcax;
  13. }
  14. public void fijaPrecio(double preciox){
  15. precio=preciox;
  16. }
  17. public void fijaNumPieza(int numPiezax){
  18. numPieza=numPiezax;
  19. }
  20. public String dameMarca(){
  21. return marca;
  22. }
  23. public double damePrecio(){
  24. return precio;
  25. }
  26. public int dameNumPieza(){
  27. return numPieza;
  28. }
  29.  
  30. class Refrigerador extends Electrodomestico{
  31. private String color;
  32. private int numPuertas;
  33. private int numCajones;
  34.  
  35. public Refrigerador(String marcax,double preciox,int numPiezax,String colorx,
  36.            int numPuertasx,int numCajonesx){
  37. super(marcax,preciox,numPiezax);
  38. fijaColor(colorx);
  39. fijaNumPuertas(numPuertasx);
  40. fijaNumCajones(numCajonesx);
  41. }
  42. public void fijaColor(String colorx){
  43. color=colorx;
  44. }
  45. public void fijaNumPuertas(int numPuertasx){
  46. numPuertas=numPuertasx;
  47. }
  48. public void fijaNumCajones(int numCajonesx){
  49. numCajones=numCajonesx;
  50. }
  51. public String dameColor(){
  52. return color;
  53. }
  54. public int dameNumPuertas(){
  55. return numPuertas;
  56. }
  57. public int dameNumCajones(){
  58. return numCajones;
  59. }
  60. }
  61. class Lavadora extends Electrodomestico{
  62. private int velocidadRPM;
  63. private int anchoCM;
  64. private String modelo;
  65.  
  66. public Lavadora(String marcax,double preciox,int numPiezax,int velocidadRPMx,
  67. int anchoCMx,String modelox){
  68. super(marcax,preciox,numPiezax);
  69. fijaVelocidadRPM(velocidadRPMx);
  70. fijaAnchoCM(anchoCMx);
  71. fijaModelo(modelox);
  72. }
  73. public void fijaVelocidadRPM(int velocidadRPMx){
  74. velocidadRPM=velocidadRPMx;
  75. }
  76. public void fijaAnchoCM(int anchoCMx){
  77. anchoCM=anchoCMx;
  78. }
  79. public void fijaModelo(String modelox){
  80. modelo=modelox;
  81. }
  82. public int dameVelocidadRPM(){
  83. return velocidadRPM;
  84. }
  85. public int dameAnchoCM(){
  86. return anchoCM;
  87. }
  88. public String dameModelo(){
  89. return modelo;
  90. }        
  91. }
  92. public class Herencia{
  93. public static void main(String[] args) {
  94. Electrodomestico e=new Electrodomestico("Whirpool",7000.50,1);
  95. Refrigerador r=new Refrigerador("LG",2000.00,1,"blanco",3,8);
  96. Lavadora l=new Lavadora("Samsung",3000.50,1,1000,55,"SMO2VY346");
  97. System.out.println("Marca: "+r.dameMarca());
  98. System.out.println("Precio: "+r.damePrecio());
  99. System.out.println("Numero de Piezas: "+r.dameNumPieza());
  100. System.out.println("Color: "+r.dameColor());
  101. System.out.println("Numero de Puertas: "+r.dameNumPuertas());
  102. System.out.println("Numero de Cajones: "+r.dameNumCajones());
  103.        System.out.println("Marca: "+l.dameMarca());
  104.        System.out.println("Precio: "+l.damePrecio());
  105.        System.out.println("Numero de Piezas: "+l.dameNumPieza());
  106.        System.out.println("Velocidad(rpm): "+l.dameVelocidadRPM());
  107.        System.out.println("Ancho(cm): "+l.dameAnchoCM());
  108.        System.out.println("Modelo: "+l.dameModelo());
  109. }
  110.  }
  111. }

de antemano gracias


En línea

goll9d

Desconectado Desconectado

Mensajes: 43


if (you==this.understand){ world.getGirlfriend() }


Ver Perfil
Re: Herencia
« Respuesta #1 en: 19 Abril 2012, 04:55 am »

Deberias poner cual es el error que te da para asi tener una idea de cual es y con gusto te podemos ayudar  ::)


En línea

m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
Re: Herencia
« Respuesta #2 en: 19 Abril 2012, 20:04 pm »

lo que sucede es que segun yo main deberia de ser static pero si lo pongo como static me aparece el siguiente mensaje de error:

The method main cannot be declared static

y si se lo quito en la linea de:
Código
  1. Electrodomestico e=new Electrodomestico("Whirpool",7000.50,1);

me aparece the local variable e is never read

saludos
En línea

sapito169


Desconectado Desconectado

Mensajes: 628



Ver Perfil
Re: Herencia
« Respuesta #3 en: 19 Abril 2012, 21:09 pm »

que nombre tiene tu archivo?
es un solo archivo?

si es un solo archivo esta mal por que no puede haber 2 clases publicas en un mismo archivo
En línea

sapito169


Desconectado Desconectado

Mensajes: 628



Ver Perfil
Re: Herencia
« Respuesta #4 en: 19 Abril 2012, 21:23 pm »

wtf las cosas que se pueden aprender de sorpresa

esta es la version corregida

Código:
notepad Electrodomestico.java

Código:
public class Electrodomestico {

    public String marca;
    public double precio;
    public int numPieza;

    public Electrodomestico(String marcax, double preciox, int numPiezax) {
        fijaMarca(marcax);
        fijaPrecio(preciox);
        fijaNumPieza(numPiezax);
    }

    public void fijaMarca(String marcax) {
        marca = marcax;
    }

    public void fijaPrecio(double preciox) {
        precio = preciox;
    }

    public void fijaNumPieza(int numPiezax) {
        numPieza = numPiezax;
    }

    public String dameMarca() {
        return marca;
    }

    public double damePrecio() {
        return precio;
    }

    public int dameNumPieza() {
        return numPieza;
    }

    static class Refrigerador extends Electrodomestico {

        private String color;
        private int numPuertas;
        private int numCajones;

        public Refrigerador(String marcax, double preciox, int numPiezax, String colorx,
                int numPuertasx, int numCajonesx) {
            super(marcax, preciox, numPiezax);
            fijaColor(colorx);
            fijaNumPuertas(numPuertasx);
            fijaNumCajones(numCajonesx);
        }

        public void fijaColor(String colorx) {
            color = colorx;
        }

        public void fijaNumPuertas(int numPuertasx) {
            numPuertas = numPuertasx;
        }

        public void fijaNumCajones(int numCajonesx) {
            numCajones = numCajonesx;
        }

        public String dameColor() {
            return color;
        }

        public int dameNumPuertas() {
            return numPuertas;
        }

        public int dameNumCajones() {
            return numCajones;
        }
    }

    static class Lavadora extends Electrodomestico {

        private int velocidadRPM;
        private int anchoCM;
        private String modelo;

        public Lavadora(String marcax, double preciox, int numPiezax, int velocidadRPMx,
                int anchoCMx, String modelox) {
            super(marcax, preciox, numPiezax);
            fijaVelocidadRPM(velocidadRPMx);
            fijaAnchoCM(anchoCMx);
            fijaModelo(modelox);
        }

        public void fijaVelocidadRPM(int velocidadRPMx) {
            velocidadRPM = velocidadRPMx;
        }

        public void fijaAnchoCM(int anchoCMx) {
            anchoCM = anchoCMx;
        }

        public void fijaModelo(String modelox) {
            modelo = modelox;
        }

        public int dameVelocidadRPM() {
            return velocidadRPM;
        }

        public int dameAnchoCM() {
            return anchoCM;
        }

        public String dameModelo() {
            return modelo;
        }
    }

    static class Herencia {

        public static void main(String[] args) {
            Electrodomestico e = new Electrodomestico("Whirpool", 7000.50, 1);
            Refrigerador r = new Refrigerador("LG", 2000.00, 1, "blanco", 3, 8);
            Lavadora l = new Lavadora("Samsung", 3000.50, 1, 1000, 55, "SMO2VY346");
            System.out.println("Marca: " + r.dameMarca());
            System.out.println("Precio: " + r.damePrecio());
            System.out.println("Numero de Piezas: " + r.dameNumPieza());
            System.out.println("Color: " + r.dameColor());
            System.out.println("Numero de Puertas: " + r.dameNumPuertas());
            System.out.println("Numero de Cajones: " + r.dameNumCajones());
            System.out.println("Marca: " + l.dameMarca());
            System.out.println("Precio: " + l.damePrecio());
            System.out.println("Numero de Piezas: " + l.dameNumPieza());
            System.out.println("Velocidad(rpm): " + l.dameVelocidadRPM());
            System.out.println("Ancho(cm): " + l.dameAnchoCM());
            System.out.println("Modelo: " + l.dameModelo());
        }
    }
}

Código:
javac Electrodomestico.java

Código:
java Electrodomestico$Herencia

y porfavor usa una clase por archivo y evita usar static para que no te pase denuevo
En línea

Puntoinfinito


Desconectado Desconectado

Mensajes: 919


#! /win/archlinux


Ver Perfil WWW
Re: Herencia
« Respuesta #5 en: 19 Abril 2012, 21:24 pm »

Tal y como esta el anterior funciona
En línea

AHORA EN SOFTONIC || CLICK HERE!!
Base64: QWNhYmFzIGRlIHBlcmRlciAxIG1pbnV0byBkZSB0dSB2aWRhLiBPbOkh



HACK AND 1337 : http://hackandleet.blogspot.com
WEBSITE: http://www.infiniterware.
m@o_614


Desconectado Desconectado

Mensajes: 389


Ver Perfil
Re: Herencia
« Respuesta #6 en: 20 Abril 2012, 00:46 am »

muchas gracias ;D

oye puntoinfinito a cual de los dos códigos de refieres?? por que el mio aunque ya le quite los errores no me corre, me dice none applicable
« Última modificación: 20 Abril 2012, 03:35 am por m@o_614 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Herencia en php
PHP
Hadess_inf 2 6,211 Último mensaje 23 Octubre 2009, 21:24 pm
por HardieVon
Herencia
Java
alzehimer_cerebral 4 4,067 Último mensaje 21 Abril 2010, 02:26 am
por sapito169
Trapicheando con C++ y SDL: Lío con Herencia :P
Programación C/C++
Ariath 6 4,091 Último mensaje 11 Julio 2010, 17:10 pm
por Ariath
Herencia y POO
Programación C/C++
Arobavx 0 2,475 Último mensaje 7 Noviembre 2010, 19:44 pm
por Arobavx
herencia
Programación C/C++
cazagavilan 2 2,315 Último mensaje 23 Abril 2012, 19:14 pm
por cazagavilan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines