Sei sulla pagina 1di 17

Programacin Orientada a

Objetos

BASICO

Programacion Orientada a
Objetos
Paradigma de programacin que define
los programas en trminos de objetos
Objetos entidades con estado (datos ) y
comportamiento (mtodos)
Programa = objetos comunicndose
para realizar tareas
Facilitan el mantenimiento y
reutilizacin

Programacion Orientada a
Objetos
Caracteristicas Basicas

Abstraccin

Encapsulamiento
Modularidad
Jerarqua
Polimorfismo

Abstraccion
Representar caractersticas esenciales de un objeto sin
preocuparse de las restantes caractersticas

Visin externa, sin inspeccionar la implementacin

Clase como descripcin abstracta


datos y operaciones a realizar

Ej: pluma estilogrfica

- estado : con tinta o vaca

-operaciones : poner y quitar la tapa, escribir,

rellenar

Encapsulacin
Ocultacin de informacin al "mundo exterior

Ocultar todo lo secreto de un objeto que no contribuye a


sus caractersticas esenciales

Vinculado a la divisin modular

Cada mdulo representa la encapsulacin de una


abstraccin
- interfaz como vista externa
- implementacin como vista interna

Modularidad
Dividir una aplicacin en partes ms
pequeas
Independientes (lo mximo posible)
Permite la descomposicin en
mdulos fuertemente cohesionados y
dbilmente acoplados

Jerarqua

Ordenacin de las abstracciones

Estructuras de clases en herencia


- relacin es-un
- jerarquas de
especializacin/generalizacin
Herencia

Estructuras de objetos en relacin de agregacin


relacin parte-de: composicin
Ej: un coche compuesto de motor,
volante, etc.

Polimorfismo
Una entidad toma muchas formas

Permite referirse a objetos de clases distintas mediante el


mismo elemento de programa

Realizar la misma operacin de diferentes formas segn


sea el objeto que referencia en ese momento

Ligadura dinmica

Ej: una vaca y un perro son mamferos,


pueden ser manejados como tal

Ej: al comer el "mamifero" puede que


coma el perro o la vaca

Declaracin de la clase
Rectangulo
class Rectangulo{
private double base;
private double altura;
public Rectangulo() // Constructor
{
base=1;
altura=1;
}
public Rectangulo(double b, double h) // Constructor
{
base = b;
altura=h;
}

Declaracin de la clase
Rectangulo
public void setBase(double b)
{
base=b;
}
public void setAltura(double h)
{
altura=h;
}
public double getBase()
{
return base;
}
public double getAltura()
{
return altura;
}

Declaracin de la clase
Rectangulo
public double area()
{
return base*altura;
}
public double perimetro()
{
return 2*base+2*altura;
}
public double diagonal()
{
return Math.sqrt(Math.pow(base,2)+Math.pow(altura,2));
}
public String toString()
{
return "base = "+base+" "+altura;
}
} // finalizacion de la clase Rectangulo

Clase Rectangulo
La clase Rectngulo tiene 2 atributos base y altura los cuales
son privados esto quiere decir que estas 2 variables son visibles
en la clase Rectngulo.
El primer mtodo que se ha implementado es el constructor ,
este mtodo se llama igual que la clase y no devuelve ningn
valor y permite inicializar los atributos de la clase. Este mtodo
se llama en el momento de crear un objeto.
Como los atributos base y altura son privados, para que los
usuarios que usan los objetos puedan modificar los atributos se
crean los mtodos setBase(double b) y setAltura(double h). Y si
deseamos obtener los valores de los atributos creamos los
mtodos getBase() y getAltura().
Adems se han creado los mtodos area(), permetro() y
diagonal() que permiten calcular el area, permetro y diagonal
del rectangulo.
En el mtodo toString() (a cadena) se crea una cadena con la
informacin de los atributos de la clase. En realidad podemos
colocar cualquier informacin

Clase que usa la clase


Rectangulo
Import java.io.*;
public class pruebaRectangulo{
public static void main(String args[]) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
double b, h;
Rectangulo R;
System.out.print("Ingrese base : ");
b=Double.parseDouble(br.readLine());
System.out.print("Ingrese altura : ");
h=Double.parseDouble(br.readLine());
R = new Rectangulo(b,h);
System.out.println("Rectangulo : "+R);
System.out.println("Area : "+R.area());
System.out.println(Perimetro : +R.perimetro());
System.out.println("Diagonal : "+R.diagonal());
}
}

Representacion de una Clase


en UML

Representacin de una Clase


en UML
En UML, una clase es representada por un
rectngulo que posee tres divisiones:
En donde:
Superior: Contiene el nombre de la Clase
Intermedio: Contiene los atributos (o
variables de instancia) que caracterizan a la
Clase (pueden ser private, protected o public).
Inferior: Contiene los mtodos u operaciones,
los cuales son la forma como interacta el
objeto con su entorno (dependiendo de la
visibilidad: private, protected o public).

Diagrama UML de la Clase


Rectangulo

Ejercicios
1. Crear la clase Cilindro con atributos radio y altura y
que se pueda calcular el area y el volumen del cilindro.
2. Crear la clase nmeros que tenga como atributos dos
nmeros y se calcule su suma, resta, multiplicacin,
divisin.
3. Crear la clase Alumno que tenga como atributos
nombre, nota1 y nota2 y permita calcular el promedio
y su condicin (aprobado o desaprobado)
4. Crear la clase Trabajador que tenga como atributos
nombre, precioHora y horasTrabajadas y se calcule
salario Bruto, impuestos( 10% del Salario Bruto) y
salario Neto (Salario Bruto Impuestos)
5. Crear la clase Movil con atributos velocidad Inicial,
aceleracin y tiempo y se pueda calcular el espacio
recorrido por el mvil

Potrebbero piacerti anche