Вы находитесь на странице: 1из 9

CIENCIAS DE LA INGENIERIA Y APLICADAS

PROGRAMACION ORIENTADA A OBJETOS











CLASES ABSTRACTAS
Una clase abstracta es
DEFINICION































INTERFACES Y HERENCIA MULTIPLE
Una interface puede ser
DEFINICION




























PROGRAMAS.-
1.-En el primer programa toma dos figuras geomtricas, el Circulo y el rectngulo, para el
ejemplo as slo considera dos caractersticas similares: X y Y, por lo que podemos crear una
sper clase Figura con estas dos caractersticas, adems el mtodo Area() que devolver el rea
Podemos decir que las
interfaces simulan la
herencia mltiple ya
que una clase puede
implementar cualquier
nmero de interfaces
Es en donde una clase
puede heredar los
atributos de otras dos
superclases. Este mtodo
puede utilizarse para
agrupar atributos y
mtodos desde varias
clases dentro de una sola.
HERENCIA
MULTIPLE
de la Figura. Pero, se presenta un problema, el clculo del rea del rectngulo es diferente al
clculo del rea del crculo. Por lo tanto, el mtodo Area() deber ser abstracto, por lo cual, la
clase Figura tambin deber ser abstracta.
import java.util.*;
public abstract class figura { //abstracion
protected double x;//declaracion de variables
protected double y;
public figura (double x, double y) {
this.x = x;
this.y = y;
}
public abstract double area ();
}
public class Circulo extends figura {
private double radio;
public Circulo (double x, double y, double radio) {
super(x,y);
this.radio = radio;
}
public double area () {
return Math.PI*radio*radio;
}
}
public class Cuadrado extends figura {
private double lado;
public Cuadrado (double x, double y, double lado) {
super(x,y);
this.lado = lado;
}
public double area () {
return lado*lado;
}
}
public class Figura {
public static void main(String[] args) {
Circulo c=new Circulo(4.2,3.0,3.6); //INASTANCIACION
System.out.println("***FIGURAS GEOMETRICAS***");//MENSAJE
System.out.println("circulo");
System.out.println("AREA DEL RECTANGULO \n "+c.area());//LLAMADO DE LA
FUNCION
System.out.println("cuadrado");
Cuadrado cu=new Cuadrado(4.2,3.0,3.6);
System.out.println("CUADRADO \n ="+cu.area());//LLAMADO DE LA FUNCION
}
}








2.- En el siguiente ejemplo, toma a los Instrumentos musicales, ya que se sabe que todos los
instrumentos son tocados y afinados por ejemplo a un bajo se lo afina y se lo toca Entonces
creamos una interfaz Instrumento musical con los mtodos tocar(), afinar(). Ahora crearemos
unas clases de instrumentos de viento e instrumentos de cuerda para que en instrumentos de
cuerda e instrumentos de viento se pueda que implemente la interfaz INSTRUMENTOS
MUSICALES

interface InstrumentoMusical {//interfas principal de esta se a heredar las otras subcalces
void tocar();//metdos a utlizar
void afinar();//metdos a utilizar
String tipoInstrumento ();//
}
class InstrumentoViento implements InstrumentoMusical {//clase heredad instrumento de viento
public void tocar() {//metodo tocar
System.out.println("Tocar instrumento de viento");//mensaje de respuesta
}
public void afinar() {//metdo afinar
System.out.println("Afinar instrumento de viento");//mensaje de respuesta
}
public String tipoInstrumento() {////metodo
return "Descripcion: Instrumento de viento";//mensaje
}
}
class InstrumentoCuerda implements InstrumentoMusical {//sub clase heredada
public void tocar() {//metodo
System.out.println("Tocando instrumento de cuerda");//mensaje
}
public void afinar() {//metdo
System.out.println("Afinando instrumento de cuerda");//mensaje
}
public String tipoInstrumento() {//metodo
return "Descripcion: Instrumento de cuerda";//mensaje
}
}//fin de la clase
class ejemploInterface2 {//interface dos
static void ManejoInstrumento(InstrumentoMusical f) {//metodo
System.out.println(f.tipoInstrumento());//mensaje de metodo
f.afinar();//llamando a metodo afinar
f.tocar();//llamando a metodo tocar
}
}
public class ins {
public static void main(String[] args) {
InstrumentoMusical guitarra = new InstrumentoCuerda();//instanciando clase padre e hijo
InstrumentoMusical trompeta = new InstrumentoViento();//instanciando clase padre e hijo

System.out.println("INSTRUMENTO DE CUERDA BAJO");
//InstrumentoMusical im = new InstrumentoMusical();
guitarra.afinar();//llamando a metodo afinar
guitarra.tocar();///llamando metdo tocar
//d.tipoInstrumento();//llamando al metodo
System.out.println("INSTRUMENTO DE VIENTO saxofon");
trompeta.afinar();//metdo afinar vientO
trompeta.tipoInstrumento();
trompeta.tocar();

}
}








EJEMPLO 2 DE INTERFACES

El siguiente programa tiene objetivo claro mostrar lo que es la herencia mltiple ya que
en java no existe la herencia mltiple sino interfaces por que la interfaz Figura
Geomtrica es de donde se va a subdividir las clases como: circulo, triangulo y
cuadrado y por ende el clculo de sus reas.

package Metodosuma;

interface FiguraGeometrica {///////interfaz principal de esta se va a heredar o
implementar en las otras subclases
void area();////metodo area
}
class Cuadrado implements FiguraGeometrica{////la clase cuadrado se implementa de la
interfaz figurageometrica
int lado;////declaracion de variables
public Cuadrado (int lado) {////metodo cuadrado
////constructor
this.lado = lado;////hace referencia al metodo
}
public void area (){///metodo area
System.out.println("El area del cuadrado es "+(lado*lado));//////claculo del lado
}
}
class Circulo implements FiguraGeometrica{////la clase circulo se implementa de la
interfaz figurageometrica
int radio;////declaracion de variables
public Circulo (int radio) {/////metodo circulo
////constructor
this.radio = radio;////hace referencia al metodo
}
public void area () {/////metodo area del circulo
System.out.println("El area del crculo es " + (2*Math.PI*(radio*radio)));///claculo e
impresion de area del circulo
}
}
class Triangulo implements FiguraGeometrica{///la clase triangulo se implementa de la
clase figura geometrica
int base, altura;////declaracion de variables
public Triangulo (int base, int altura) {///metodo triangulo
//constructor
this.base=base;////hace referencia al metodo
this.altura=altura;////hace referencia al metodo
}
public void area () {////metodo que se utiliza en el area del triangulo
System.out.println("El area del triangulo es " + (base*altura)/2);
}
}
public class ejemplo {/////metodo
static void dibujaArea(FiguraGeometrica f) {
f.area();
}
public static void main(String[] args) {
FiguraGeometrica cuadrado = new Cuadrado(5);///instanciacion
FiguraGeometrica circulo = new Circulo(4);///instanciacion
FiguraGeometrica triangulo = new Triangulo(16,5);///instanciacion
dibujaArea(cuadrado);////llamado de las clases
dibujaArea(circulo);////llamado de las clases
dibujaArea(triangulo);////llamado de las clases
}
}

Вам также может понравиться