Documentos de Académico
Documentos de Profesional
Documentos de Cultura
5-Herencia en Java
5-Herencia en Java
En
JAVA
V8.0
Marzo 2015
Ferreiras
Es la palabra clave
de java para
indicar herencia
/*
Herencia0.java
jdk1.6.0_25
*/
import java.text.DecimalFormat;
Libro() {
paginas = 555;
}
Diccionario() {
definiciones = 33333;
}
double relacion() {
return (double) definiciones / getPaginas();
}
int getDefiniciones() {
return definiciones;
}
}
C:\Program Files\Java\jdk1.6.0_22\bin>
*/
C1 C2 C3 C4 C5
public SI SI SI SI SI
protected SI NO SI SI NO
no access modifier SI NO NO SI NO
private SI NO NO NO NO
En la tabla anterior :
C1 indica si la clase misma tiene acceso al miembro definido por el nivel de acceso.
Como se puede ver, una clase siempre tiene acceso a sus propios miembros.
C2 Indica que el acceso fuera de la clase.
C4 indica si las clases en el mismo paquete que de la clase (sin importar su parentesco)
tienen acceso al miembro.
C3 indica si las subclases de la clase declarada fuera de este paquete tienen acceso al
miembro.
C5 indica si todas las clases tienen acceso al miembro.
*/
private int x;
protected double y;
public A() { }
b1.y = 6.7984;
System.out.println("\n" + b1.getY() );
}
}
123
6.7984
D:\Ferreiras2\Java, Mi Codigo>
*/
*/
class Libro{
protected int paginas;
Libro(){
paginas = 555;
}
}
Ferreiras Herencia en JAVA 25
class Diccionario extends Libro{
double relacion(){
return (double) definiciones / paginas;
}
int getDefiniciones(){
return definiciones;
}
}
C:\Archivos de programa\Java\jdk1.6.0_25\bin>
*/
}
Ferreiras Herencia en JAVA 30
La clase Object en JAVA
Es la superclase de todas las clases de
JAVA, de manera directa o indirecta todas
las clases derivan de ella. Es la clase raz. Si
extends no aparece al definir una nueva
clase, JAVA considera que dicha clase
desciende directamente de la superclase
Object.
/*
Herencia0f.java
jdk1.6.0_22
Vehicles that do not travel on land often are called craft, such as watercraft,
sailcraft, aircraft, hovercraft, and spacecraft.
*/
C:\Program Files\Java\jdk1.6.0_22\bin>
void prender() {
if( bateria ) Invoca el Mtodo de la
super.prender(); clase derivada
else{
this.recargarBateria();
super.prender();
}
Invoca el Mtodo
de la clase base
Aqu se refiere a la
void prender() { instancia de la clase
if( bateria ) que ejecute el mtodo
super.prender(); recargarBateria()
else{
this.recargarBateria();
super.prender();
}
}
Vehiculo() {
this( "Por default es Carabelita", 5678.23 ); // default explicito
}
void verVehiculo() {
System.out.println("\n\t=> El vehiculo actual es " + marca +
" y cuesta " + precio + "\n" );
}
// 1) // Lo correcto sera:
// 2) => Si intentamos
// Lo correcto seria:
class Empleado {
private String nombre;
private double salario;
Empleado() {
nombre = "Grandote Perez";
salario = 8367.00;
}
*/
Clase abstract
abstract class Animal {
return nombre;
Mtodo abstract
}
}
Ferreiras Herencia en JAVA 63
class Perro extends Animal {
*/
C:\Archivos de programa\Java\jdk1.6.0_25\bin>
...
overload0.java
jdk1.6.0_25
class Sobrecargada {
void fofi(String cad1) {
System.out.println( "\n\t=> " + cad1 );
}
C:\Archivos de programa\Java\jdk1.6.0_25\bin>
*/
C:\Program Files\Java\jdk1.6.0_22\bin>
class Animal {
}
}
C:\Archivos de programa\Java\jdk1.6.0_25\bin>
*/
*/
class Animal {
}
}
C:\Archivos de programa\Java\jdk1.6.0_25\bin>
*/
*/
class Animal {
} Generar un error en
} tiempo de compilacin
porque se esta
invocando un mtodo
de la clase Derivada
con una referencia de la
clase Base.
FueledVehicle y
NonFueledVehicle son ramas
http://book.javanb.com/Programmers-Guide-to-Java-Certification-2nd/0201728281_ch06lev1sec1.html
Recuperado de http://www.javabeginner.com/java-swing/java-swing-tutorial