Clases extendidas
This presentation is the property of its rightful owner.
Sponsored Links
1 / 18

Clases Extendidas PowerPoint PPT Presentation


  • 116 Views
  • Uploaded on
  • Presentation posted in: General

Clases Extendidas. La clase extendida hereda los campos y métodos de la clase que ha sido extendida. La clase original se conoce como superclase. Clases Extendidas. Una clase extendida se puede usar en cualquier lugar en que se podía usar la superclase. Esto se conoce como polimorfismo.

Download Presentation

Clases Extendidas

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Clases extendidas

Clases Extendidas

La clase extendida hereda los campos y métodos de la clase que ha sido extendida.

La clase original se conoce como superclase.

Informatica II


Clases extendidas1

Clases Extendidas

Una clase extendida se puede usar en cualquier lugar en que se podía usar la superclase. Esto se conoce como polimorfismo.

Clases diferentes, que se denominan polimorficas pueden implementar métodos con el mismo nombre. Es decir objetos de clases distintas pueden entender mensajes iguales.

Las clases extendidas, en Java, se declaran con la claúsula extends.

Informatica II


Clases extendidas2

Clases Extendidas

En Java todos los ejemplos que hemos visto hasta ahora extienden implicitamente de la clase Object.

Object es la raíz de todas las clases. Esta clase declara métodos que heredan todas las clases.

Las variables de clase Object pueden referenciar cualquier objeto.

Informatica II


Ejemplo de clases extendidas

Ejemplo de clases extendidas

import java.io.*;

class vehiculo

{protected long idnum;

protected String nombre = "sin nombre";

private static long sigId = 0;

vehiculo() { idnum = sigId++;

}

protected long getsigId(){

return sigId;

}

public static void main(String [] args) {

vehiculo auto = new vehiculo();

auto.nombre = "Miauto";

vehiculo colectivo = new vehiculo();

colectivo.nombre = "Micolectivo";

System.out.println("Vehiculo" + auto.nombre);

System.out.println("Vehiculo" + colectivo.nombre);

}

Informatica II


Ejemplo de clases extendidas1

Ejemplo de clases extendidas

class Vehiculopasajeros extends vehiculo

{

int asientos = 50;

int ocupados;

public Vehiculopasajeros( int disponibles, int ocu){

super();

asientos = disponibles;

ocupados = ocu;

}

Informatica II


Ejemplo de clases extendidas2

Ejemplo de clases extendidas

public static void main(String [] args)

{

int cant = 60;

int ocu = 0;

Vehiculopasajeros Urbano = new Vehiculopasajeros(cant,ocu);

System.out.println(" sigid de Urbano : " + Urbano.getsigId());

Vehiculopasajeros Inter = new Vehiculopasajeros(cant,ocu);

System.out.println(" sigid de Inter : " + Inter.getsigId());

Informatica II


Ejemplo de clases extendidas3

Ejemplo de clases extendidas

Urbano.nombre = "Cinta de Plata";

Inter.nombre = "Turicenter";

System.out.println("Vehiculo de pasajeros : " + Urbano.nombre);

System.out.println();

System.out.println("Vehiculo de pasajeros : " + Urbano.asientos);

}

}

Informatica II


Significado de protected

Significado de protected

Un miembro protegido se puede acceder desde una clase por medio de referencias de objeto que sean del mismo tipo que la clase o de sus clases extendiadas.

vehiculo

Vehiculopasajeros puede acceder a nombre, a través de una referencia a Vehiculopasajeros o una referencia a combi. No puede acceder a través de una referencia a auto.

protected nombre

Vehiculopasajeros

auto

combi

Informatica II


Significado de protected1

Significado de protected

  • Si nombre fuese estático, puedo acceder a él a través de cualquier referencias a cualquier tipo vehiculo.

  • Los miembros declarados protected también son accesibles a todo el código de paquete.

  • El mismo tratamiento explicado con los campos, ocurre con los métodos.

Informatica II


Constructores en las clases extendidas

Constructores en las clases extendidas

La clase extendida debe invocar uno de los constructores de la superclase, para que la parte del objeto que controla la superclase sea construído en forma correcta.

Para ello se puede usar

super( );

Si no se invoca en forma explícita un constructor de la superclase, se invoca en forma automática el constructor sin argumentos de la superclase, por lo cual la superclase debería tener un constructor no-arg.

Informatica II


Valores iniciales para los campos

Valores iniciales para los campos

Tipos Valores iniciales

numericos0

char/u0000

booleanfalse

referencias a objetosnull

Informatica II


Orden de ejecuci n

Orden de ejecución

1. Invocar un constructor de la superclase.

2. Inicializar los campos usando sentencias de inicialización.

3. Ejecutar el cuerpo del constructor.

Informatica II


Anulaci n de m todos y ocultamiento de campos

Anulación de métodos y ocultamiento de campos

anulan

Métodos

sobrecargan

Campos ocultan

Informatica II


Anulaci n de m todos y ocultamiento de campos1

Anulación de métodos y ocultamiento de campos

  • Sobrecargar un método es tener más de un método con el mismo nombre pero con signaturas distintas.

  • Anular un método es sustituir la implementación de un método de la superclase, por una implementación propia para la subclase. Las signaturas deben ser idénticas y el tipo devuelto también deben ser iguales.

  • La claúsula throws del método anulador puede listar menos tipos de excepciones que la claúsula throws del método que se anuló, pero nunca más.

Informatica II


Anulaci n de m todos y ocultamiento de campos2

Anulación de métodos y ocultamiento de campos

  • Los métodos anulados tienen sus propios especificadores de acceso. Una clase extendida puede modificar el acceso de los métodos de la superclase, pero sólo si otorga más acceso.

  • Un método declarado protected puede ser redeclarado protected o public pero no private.

Informatica II


Anulaci n de m todos y ocultamiento de campos3

Anulación de métodos y ocultamiento de campos

Los campos no se pueden anular sólo se pueden ocultar. Para ocultarlo basta con declarar un campo del mismo nombre, que un campo que ya existe en la superclase. Para acceder al campo de la superclase utilice super o una referencia del tipo de la superclase.

Informatica II


Anulaci n de m todos y ocultamiento de campos4

Anulación de métodos y ocultamiento de campos

  • Cuando se invoca un método sobre un objeto, el tipo real del objeto determina que implementación se usa.

  • Cuando se accede a un campo se usa el tipo declarado de la referencia.

  • Tengo una clase A y una clase B que extiende de A.

    • A segundo =new B( );

  • Determina la referencia al objeto

  • Determina el tipo real del objeto

  • Informatica II


    Anulaci n de m todos y ocultamiento de campos5

    Anulación de métodos y ocultamiento de campos

    • La clase A,tiene un campo String x, y la clase B tiene también un campo String x,que oculta al campo de la superclase, y con un método mostrar que esta anulado en la clase extendida.

    • B primero = new B( ); (B: clase extendida)

    • A segundo = primero; (A superclase)

    • primero.mostrar( );

    • segundo.mostrar( ); (siempre se invoca el método del tipo real del objeto, en este caso el método implementado en B).

    • Primero.x; ( se refiere al campo de B)

    • Segundo.x ( se refiere al campo de A)

    Informatica II


  • Login