🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #28942

Q: static y extends

#28942
From: Rafael Garcia Leiva
Date: Thu, 12 Feb 1998 00:00
52 lines
2097 bytes
    Hola!

    Tengo algunos problemas con las variables estaticas y la herencia de clases.
Imaginemos las siguientes clases:

class A {
    public static char id;
}

class B extends A {
    static {
        id = 'B';
    }
}

class C extends A {
    static {
        id = 'C';
    }
}

class prueba {
    public static void main( String args[] ) {
        B b = new B();
        C c = new C();
        System.out.println( "B = " + b.id );
        System.out.println( "C = " + c.id );
    }
}

    Al ejecutar la clase prueba obtenemos como salida:

         B = C
         C = C

    Las variables estaticas existen una por clase, pero pensaba que era una por
clase derivada no por clase base y todas sus derivadas.
    Lo que pretendo es lo siguiente. La clase A implementa un algoritomo que es
exacatamente el mismo para las calses B, C y otras. Este algoritmo lo unico que
varia es un vector con unos determinados valores que son comunes para todas las
instancias de la clase B, comunes para las instancias de la clase C, pero
distintos entre los de la clase B y los de las clases C. Entonces pense
en crear una clase base A con un vector statico y el algoritmo referido a ese
vector, crear la clase B derivada, inicializar el vector con los valores de la
clase B, crear una instancia b de B y llamar a b.algoritmo().
    Aqui se dan dos problemas, que B no dispone de su propio vector de clase,
y que el metodo algoritmo() no esta definido en b (esto ultimo es menos
problematico)
    En fin, un lio! �Alguna idea de como enfocar esto?

					Gracias por adelantado
Technical Details
Message-ID: <6buotj$nnr$1@erika.cica.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,440edcdf69c91d57,start
X-Google-Attributes: gid1116f3,public
From: cc1galer@uco.es (Rafael Garcia Leiva)
Subject: Q: static y extends
Date: 1998/02/12
Message-ID: <6buotj$nnr$1@erika.cica.es>
X-Deja-AN: 324438202
Content-Transfer-Encoding: 8bit
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Organization: Centro Informatico Cientifico de Andalucia
Newsgroups: es.comp.lenguajes.java