Herencia encapsulación polimorfismo

22
DEFINICION DE ENCAPSULAMIENTO ABSTRACCIÓN, POLIMORFISMO, HERENCIA.

Transcript of Herencia encapsulación polimorfismo

DEFINICION DE ENCAPSULAMIENTOABSTRACCIÓN, POLIMORFISMO,

HERENCIA.

Encapsulamiento es donde podemos agrupar varios elementos.

Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema.

ENCAPSULAMIENTO

GRAFICO

Utilizando el encapsulamiento , realice un programa que perotima retornar un valor entero.

public class MiClase{private int tipo;

public void setTipo(int t){tipo = t; }

public int getTipo(){ return tipo; } } class AccesoIndirecto{

public static void main(String[] args){ MiClase mc = new MiClase();mc.setTipo(5); System.out.println("El tipo es:" + mc.getTipo()); }

}

El proceso de abstracción nos permite a seleccionar las características relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar.

ABSTRACCIÓN

GRAFICO

EJEMPLO DE ABSTRACIONAlgunos seres pueden caminar y puede nadar estas dos capacidades son interfaces (PuedeCaminar.java y PuedeNadar.java). Los mamiferos son animales que pueden moverse (Mamifero.java). El gato es un mamifero que puede nadar y moverse (Gato.java). Un Loro puede caminar pero no puede nadar.

PuedeCaminar.java public interface PuedeCaminar{     public void caminar(); } PuedeNadar.java public interface PuedeNadar {     public void nadar();

} Mamifero.java public class Mamifero {     String especie, color;     public void caminar() {         System.out.println("El mamífero camina");     } } Gato.java public class Gato extends Mamifero implements PuedeCaminar, PuedeNadar {     private int numeroPatas = 4;     public void nadar() {         System.out.println("El gato nada");   

 } } Loro.java public class Loro implements PuedeCaminar...     ...System.out.println("El loro camina");     ...

Interfaces.java public class Interfaces {     public static void main(String[] args) {         Gato felix = new Gato();         felix.caminar();         felix.nadar();         Loro pepe = new Loro();         pepe.caminar();     } }

Son los comportamientos diferentes asociados a objetos distintos y pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando.

POLIMORFISMO

EJEMPLO DE POLIMORFISMOMediante polimorfismo realice un programa que muestre por consola las clase animal.import javax.swing. *; class Animal{ public void habla(){ System.out.println("No se que soy"); } } class Perro extends Animal{ public void habla(){ System.out.println("Guau"); } } class Gato extends Animal{ public void habla(){ System.out.println("Miau"); }

}

public class Zoo{ public static void main(String[] args) { Animal animal; animal = new Gato();

animal.habla();

animal=new Perro();

animal.habla();

}

}

Agregue una nueva clase llamada Revista.java cuyo importe se basara en el día de la semana que se alquila. Si es Sábado o Domingo el alquiler de las revistas será 5, en otro días será 2.

Alquiler3.java public class Alquiler3 { private int dias; public Alquiler3(int dias) {

this.dias = dias;

} public int getDias () {

return dias;

}

}

} Pelicula3.java public class Pelicula3 extends Item3 { protected float calcularImporte(Alquiler3 contrato) {

int importe = 2*contrato.getDias(); return importe;

}

} Equipo3.java public class Equipo3 extends Item3 { protected float calcularImporte(Alquiler3 contrato) {

int seguroEquipo = 50; int importe = 5*contrato.getDias(); return seguroEquipo + importe;

}

}

Juego3.java public class Juego3 extends Item3 { String fabricante; public Juego3(String fabricante) {

this.fabricante = fabricante;

} public String getFabricante() {

return fabricante;

} protected float calcularImporte(Alquiler3 contrato) {

String fabricante = this.fabricante; int tasa = 0; if (fabricante.equals("PlayStation")) tasa = 2; if (fabricante.equals("Nintendo")) tasa = 1; int importe = tasa*contrato.getDias(); return importe;

} }

Libro3.java public class Libro3 extends Item3 { protected float calcularImporte(Alquiler3 contrato) { return 0;

} } TestPolimorfismo.java public class TestPolimorfismo { public static void main (String[] args) {

Alquiler3 contrato = new Alquiler3(10); Pelicula3 oscar = new Pelicula3(); System.out.println( oscar.calcularImporte(contrato) ); Equipo3 vhs = new Equipo3(); System.out.println( vhs.calcularImporte(contrato) ); Juego3 mu = new Juego3("Nintendo"); System.out.println( mu.calcularImporte(contrato) ); Libro3 quijote = new Libro3(); System.out.println( quijote.calcularImporte(contrato) );

} }

Pueden compartir y extender su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.

HERENCIA

GRAFICO

Utilizando herencias realize un programa que muestre por consola . public class Mamifero{ private int patas; private String nombre; public void imprimirPatas(){ JOptionPane.showMessageDialog(null," Tiene " + patas + "patas\n","Mamifero",JOptionPane.INFORMATION_MESSAGE); } public Mamifero(String nombre, int patas){ this.nombre = nombre; this.patas = patas; } } public class Perro extends Mamifero { public Perro(String nombre){ super(nombre, 4);

EJEMPLO DE HERENCIA

} } public class Gato extends Mamifero { public Gato(String nombre){ super(nombre, 4); } } public class CrearPerro { public static void main(String [] args) { Perro perrito = new Perro("Pantaleon"); perrito.imprimirPatas(); /*Está en la clase mamífero*/ } }