Professional Documents
Culture Documents
Licenciatura: Informática
Turno: Matutino
Fecha: 17/02/19
Semestre: 7º U
La Programación Orientada a Objetos (POO) es una técnica para escribir programas. Es decir, es la aplicación
de un lenguaje orientado a objetos para implementar una solución previamente diseñada, usando el paradigma
orientado a objetos.
La POO tiene cuatro características principales: abstracción, encapsulamiento, herencia y polimorfismo. La
abstracción consiste en ignorar aquellos aspectos, del objeto a describir, que no son relevantes, para de esta
manera concentrarse en los que sí lo son. El encapsulamiento consiste en incluir dentro de una clase todos los
atributos y métodos que la definen, de tal manera que otros objetos puedan usarla sin necesidad de conocer su
estructura interna. La herencia permite compartir atributos y métodos entre clases y subclases. Finalmente, en
el polimorfismo una operación puede tener el mismo nombre en diversas clases, y funcionar de manera
diferente en cada una. Estos temas se tratarán en las siguientes secciones y capítulos.
Características de la POO
En el diseño de la solución computacional de problemas se distinguen los datos (información necesaria para
llevar a cabo el procesamiento) y las operaciones que podemos hacer sobre ellos. La POO ofrece mecanismos
para representar, de manera integrada, los datos y las operaciones.
Como ya se mencionó, la POO tiene ciertas características que la convierten en una poderosa herramienta para
solucionar diversos problemas computacionales. A continuación, se presentan las características más
importantes.
Abstracción: Es el principio que permite (al observar el objeto o concepto que se quiere representar)
ignorar aquellos aspectos que no son relevantes, para de esta manera concentrarse en los que sí lo son.
Se trata de abstraer los datos (llamados atributos) y las operaciones (llamadas métodos) comunes a un
conjunto de objetos y agruparlos bajo un mismo concepto clase. Es decir, facilita la generalización
conceptual de los atributos y propiedades de un determinado conjunto de objetos. De esta forma,
introducir o eliminar un objeto en una determinada aplicación requerirá un trabajo mínimo.
Abstracción
Herencia: Permite compartir atributos y métodos entre clases y clases derivadas. Las clases derivadas,
también llamadas subclases, heredan atributos y métodos de las clases superiores, que reciben el
nombre de superclases o clases base.
Observe el ejemplo de la figura 1.2. La clase Persona es una superclase. Las clases Alumno y Profesor son
subclases o clases derivadas de la clase Persona, por lo que heredan todos los atributos y métodos de ella. Esta
relación expresa que un alumno y un profesor también son personas.
Polimorfismo: Permite implementar múltiples formas de un mismo método, de tal manera que cada una
de ellas se adapte a la clase sobre la cual se aplicará.
Polimorfismo
Cuadrado
Triangulo
Rectángulo
Romboide
Trapecio
Código utilizado
package Figuras;
nombre=nom;
return nombre;
return area;
return perimetro;
package Figuras;
public Cuadrado(double L)
super("CUADRADO ");
lado=L;
this.perimetro=4*lado;
super.area=lado*lado;
super.dibujar();
for(int k = 0;k<lado;k++ )
System.out.print(" *");
System.out.println("");
for(int i = 0;i<lado-2;i++)
System.out.print(" *");
for(int k = 0;k<lado-2;k++)
System.out.print(" ");
}
System.out.println(" *");
for(int k = 0;k<lado;k++)
System.out.print(" *");
System.out.println("");
package Figuras;
super("RECTANGULO ");
base=b;
altura = a;
this.perimetro=(2*base)+(2*altura);
this.area=base*altura;
}
super.dibujar();
for(int k = 0;k<6;k++ )
System.out.print(" *");
System.out.println("");
for(int i = 0;i<4-2;i++)
System.out.print(" *");
for(int k = 0;k<4-2;k++)
System.out.print(" ");
System.out.println(" *");
for(int k = 0;k<6;k++)
System.out.print(" *");
System.out.println("");
package Figuras;
super("ROMBOIDE ");
base=b;
altura = a;
lado = l;
this.perimetro= (2*base)+(2*lado);;
this.area= base*altura;
super.dibujar();
package Figuras;
super("TRAPECIO ");
base=BM;
altura = h;
l = lado;
this.bm = bm;
}
this.perimetro = ((base)+(2*l)+(this.bm));
this.area= ((base+bm)*altura)/2;
super.dibujar();
package Figuras;
super("TRIANGULO ");
lado1base=b;
altura = a;
this.lado2 = lado2;
this.lado3 = lado3;
{
this.perimetro=lado1base+lado2+lado3;
this.area=(lado1base*altura)/2;
super.dibujar();
package Figuras;
import java.util.Scanner;
double lado,base,altura,lado2,lado3,bm;
lado=entrada.nextDouble();
objcuadro.settterPerimetro();
objcuadro.setterArea();
objcuadro.dibujar();
base=entrada.nextDouble();
altura=entrada.nextDouble();
Rectangulo objrectangulo=new Rectangulo(base,altura);
objrectangulo.setterperimetro();
objrectangulo.setterArea();
objrectangulo.dibujar();
base=entrada.nextDouble();
altura=entrada.nextDouble();
lado2=entrada.nextDouble();
lado3=entrada.nextDouble();
objtriangulo.setterperimetro();
objtriangulo.setterArea();
objtriangulo.dibujar();
base=entrada.nextDouble();
altura=entrada.nextDouble();
lado=entrada.nextDouble();
objromboide.setterperimetro();
objromboide.setterArea();
objromboide.dibujar();
base = entrada.nextDouble();
altura = entrada.nextDouble();
bm = entrada.nextDouble();
objtrapecio.setterperimetro();
objtrapecio.setterArea();
objtrapecio.dibujar();
System.out.println("\n");
Bibliografía
Guardati Buemo, S. (2007). Estructura de datos orientada a objetos:. Mexico: PEARSON EDUCACIÓN.