DEFINICION DE ENCAPSULAMIENTO
ABSTRACCIN, POLIMORFISMO,
HERENCIA.
ENCAPSULAMIENTO
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
abstraccin. Esto permite aumentar la
cohesin de los componentes del sistema.
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();
[Link](5);
[Link]("El tipo es:" + [Link]());
}
}
ABSTRACCIN
El proceso de abstraccin nos permite a
seleccionar las caractersticas relevantes
dentro
de
un
conjunto
e
identificar
comportamientos
comunes
para
definir
nuevos tipos de entidades en el mundo real.
La abstraccin es clave en el proceso de
anlisis y diseo 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.
GRAFICO
EJEMPLO DE ABSTRACION
Algunos seres pueden caminar y puede nadar
estas dos capacidades son interfaces
([Link] y [Link]).
Los mamiferos son animales que pueden
moverse ([Link]). El gato es un
mamifero que puede nadar y moverse
([Link]).
Un Loro puede caminar pero no puede nadar.
[Link]
public interface PuedeCaminar{
public void caminar();
}
[Link]
public interface PuedeNadar {
public void nadar();
}
[Link]
public class Mamifero {
String especie, color;
public void caminar() {
[Link]("El mamfero camina");
}
}
[Link]
public class Gato extends Mamifero implements
PuedeCaminar, PuedeNadar {
private int numeroPatas = 4;
public void nadar() {
[Link]("El gato nada");
}
}
[Link]
public class Loro implements PuedeCaminar...
...[Link]("El loro camina");
...
[Link]
public class Interfaces {
public static void main(String[] args) {
Gato felix = new Gato();
[Link]();
[Link]();
Loro pepe = new Loro();
[Link]();
}
}
POLIMORFISMO
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.
EJEMPLO DE POLIMORFISMO
Mediante polimorfismo realice un programa que muestre
por consola las clase animal.
import [Link]. *;
class Animal{
public void habla(){
[Link]("No se que soy");
}
}
class Perro extends Animal{
public void habla(){
[Link]("Guau");
}
}
class Gato extends Animal{
public void habla(){
[Link]("Miau");
}
}
public class Zoo{
public static void main(String[] args) {
Animal animal;
animal = new Gato();
[Link]();
animal=new Perro();
[Link]();
}
}
Agregue una nueva clase llamada [Link]
cuyo importe se basara en el da de la semana
que se alquila.
Si es Sbado o Domingo el alquiler de las
revistas ser 5, en otro das ser 2.
[Link]
public class Alquiler3 {
private int dias;
public Alquiler3(int dias) {
[Link] = dias;
}
public int getDias () {
return dias;
}
}
}
[Link]
public class Pelicula3 extends Item3 {
protected float calcularImporte(Alquiler3
contrato) {
int importe = 2*[Link]();
return importe;
}
}
[Link]
public class Equipo3 extends Item3 {
protected float calcularImporte(Alquiler3
contrato) {
int seguroEquipo = 50;
int importe = 5*[Link]();
return seguroEquipo + importe;
}
}
[Link]
public class Juego3 extends Item3 {
String fabricante;
public Juego3(String fabricante) {
[Link] = fabricante;
}
public String getFabricante() {
return fabricante;
}
protected float calcularImporte(Alquiler3 contrato)
{
String fabricante = [Link];
int tasa = 0;
if ([Link]("PlayStation")) tasa = 2;
if ([Link]("Nintendo")) tasa = 1;
int importe = tasa*[Link]();
return importe;
}
}
[Link]
public class Libro3 extends Item3 {
protected float calcularImporte(Alquiler3 contrato)
{
return 0;
}
}
[Link]
public class TestPolimorfismo {
public static void main (String[] args) {
Alquiler3 contrato = new Alquiler3(10);
Pelicula3 oscar = new Pelicula3();
[Link]( [Link](contrato
) );
Equipo3 vhs = new Equipo3();
[Link]( [Link](contrato)
);
Juego3 mu = new Juego3("Nintendo");
[Link]( [Link](contrato)
);
Libro3 quijote = new Libro3();
[Link]( [Link](contra
to) );
HERENCIA
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 comn. Cuando un
objeto hereda de ms de una clase se
dice que hay herencia mltiple.
GRAFICO
EJEMPLO DE HERENCIA
Utilizando herencias realize un programa que muestre por consola .
public class Mamifero{
private int patas;
private String nombre;
public void imprimirPatas(){
[Link](null," Tiene " + patas +
"patas\n","Mamifero",JOptionPane.INFORMATION_MESSAGE);
}
public Mamifero(String nombre, int patas){
[Link] = nombre;
[Link] = patas;
}
}
public class Perro extends Mamifero {
public Perro(String nombre){
super(nombre, 4);
}
}
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");
[Link](); /*Est en la clase mamfero*/
}
}