martes, 25 de octubre de 2016

¿QUÉ ES LA HERENCIA EN PROGRAMACIÓN ORIENTADA A OBJETOS?

Herencia:

Permite definir una clase tomando como base a otra clase ya existente.
Esto es una de las bases de la reutilización de código, en lugar de copiar y pegar.
En java, como ya vimos la herencia se especifica agregando la claúsula extends después del nombre de la clase. En la claúsula extends indicaremos el nombre de la clase base de la cuál queremos heredar.
Al heredar de una clase base heredaremos tanto los atributos como los métodos, mientras que los constructores son utilizados, pero no heredados.
Ejemplo:

public class persona {
 private String nombre;
 private String dni;

    public persona(String nombre, String dni) {
        this.nombre = nombre;
        this.dni = dni;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getDni() {
        return dni;
    }

    public void setDni(String dni) {
        this.dni = dni;
    }
}

public class estudiante extends persona {
    private float n1,n2,n3;
    private float promedio;
    private String codestudiante;
    public estudiante(String nombre,String dni,float n1,float n2,float n3,String codestudiante){
    super(nombre,dni);
    this.n1=n1;
    this.n2=n2;
    this.n3=n3;
    this.codestudiante=codestudiante;
}



Constructores y Metodos

Constructor
- Se utilizan para instanciar las clases (Para crear objetos de una                                                                 clase).
- Llevan el mismo nombre de la clase. 
- Tienen accesibilidad public.
- No tienen tipo de dato de retorno (no retornan un valor).

  - Si no tiene parámetros crea el objeto con los valores de los atributos por default.
     - Puede haber más de un método constructor pero los
        parámetros no pueden  tener los mismos tipos de
        datos en el mismo orden. 


Los constructores pueden ser:

1.- Por default (no tiene parámetros).
2.- Por parámetros (asigna los valores de los parámetros a los atributos del objeto que está siendo creado).

Ejemplo:

public class ClaseEjemplo{
 private int atributo;
//CONSTRUCTOR POR DEFAULT
 public ClaseEjemplo(){
}
//CONSTRUCTOR POR PARAMETROS
public ClaseEjemplo(int valorAsignar){
 atributo = valorAsignar;
}
 }

Meetodos SET Y GET

Los métodos get y set, son simples métodos que usamos en las clases para mostrar (get) o modificar (set) el valor de un atributo. El nombre del método siempre sera get o set y a continuación el nombre del atributo, su modificador siempre es public ya que queremos mostrar o modificar desde fuera la clase. Por ejemplo: getNombre o setNombre.
Esta es la sintaxis de cada uno:
public tipo_dato_atributo getAtributo (){
     return atributo;
}

public void setAtributo (tipo_dato_atributo variable){
    this.atributo = variable;
}