Sie sind auf Seite 1von 32

UNIVERSIDAD JOSE CARLOS MARIATEGUI

ESCUELA DE INGENIERA DE SISTEMAS E INFORMTICA

POO con Java


Profesor Ing. Euler Tito Chura
eulertito@hotmail.com

PROGRAMACIN ORIENTADA
A OBJETOS (POO)

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


INTRODUCCIN
La programacin orientada a objetos (POO)
divide programas grandes y complejos en
unidades semi-autnomas que son fcilmente
identificables.
Se fundamentan en el lema: Divide y
vencers.
Los objetos funcionan de la siguiente manera:
ocultan los detalles de su implementacin al
resto del programa. Lo nico importante es su
funcionalidad.

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


INTRODUCCIN (..continuacin)
En este enfoque interesa el qu se hace mas no
el cmo se hace.
Los objetos slo presentan una interfaz (que no
necesariamente es grfica) para comunicar
mensajes.
La interfaz viene definida por un mtodo que
pasa mensajes a los atributos de una clase.

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


CLASES
Son plantillas
para construir o fabricar
objetos.
La definicin de una clase incluye las
especificaciones de qu atributos y mtodos
van a formar parte de la clase, y por
consiguiente, de los objetos.
Ejm.: si la clase es un molde para fabricar
chips, los objetos que se crean a partir de ellas
sern chips.
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


CLASES (...continuacin)
La definicin de una clase en C++ sera:
class Alumno {
//miembros datos
//funciones miembro
}

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


CLASES (...continuacin)
La definicin de una clase en Java sera:
public class Alumno {
//atributos
//mtodos
}

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


ATRIBUTOS
Son las variables que forman parte de la
definicin de una clase y que van a servir para
almacenar los datos que manejen los objetos
creados a partir de esa clase.
En el caso del Alumno, los atributos seran:
nombre, edad y cdigo.
private String nombre, codigo;
private int edad;
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


ATRIBUTOS
En C++ se denominaran miembros dato y se
declararan as:
char *nombre, *codigo;
int edad;

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


MTODOS
Son funciones o procedimientos implementados
en la clase y cuya finalidad es manipular los
atributos.
Ejm: si quisiera establecer el nombre de mi
Alumno usara el mtodo setNombre:
public void setNombre(String nom) {
nombre = nom;
}
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


MTODOS
En C++ se denominaran funciones miembro y
se declararan as:
void setNombre(char *nom)
{
nombre = new char[strlen(nom)+1];
strcpy(nombre,nom);
}

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


MTODOS (...continuacin)
Luego, la clase quedara as:
//declaracin de la clase
public class Alumno {
private String nombre, codigo;
private int edad;
publicvoid setNombre(String nom)
{
nombre = nom;
};
}
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


OBJETOS
Son instancias de una clase, as como una
variable es una instancia de un tipo de dato.
Los objetos presentan tres caractersticas:

OBJETOS

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


OBJETOS (...continuacin)
Los objetos contienen miembros dato y
funciones miembro que actan sobre esos
atributos. (C++)
Los objetos encapsulan sus datos y stos slo
pueden ser accesados y manipulados a travs de
las funciones miembro adecuados.
Pueden crearse muchos objetos a partir de una
clase, siendo cada objeto diferente (sus
miembros dato slo pertenecen a ese objeto).
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


OBJETOS (...continuacin)
En JAVA:
z

Los miembros dato se denominan atributos

Las funciones miembro, mtodos.

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


OBJETOS (...continuacin)
Creamos en C++ dos objetos de la clase
Alumno:
Alumno

alu_1, alu_2;

Ntese la similitud con la declaracin formal de


variables que se conoce:
tipo_de_dato

nombre_de_identificador
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


OBJETOS (...continuacin)
Declaramos en Java dos objetos de la clase
Alumno:
Alumno

alu_1, alu_2;

En Java, esta operacin NO crea a los objetos.!

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


OBJETOS (...continuacin)
Para crear los objetos:
alu_1 = new Alumno();
alu_2 = new Alumno();

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS

RECORDAR!
El operador new permite crear objetos.

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


OBJETOS (...continuacin)

Encapsulamiento: los atributos y los mtodos


forman una unidad nica. Los atributos estn ocultos
y slo es posible accederlos mediante mtodos que
actan sobre ellos.
Herencia: permiten utilizar los mtodos de una clase
base en una clase derivada.
Polimorfismo: reaccionan con comportamientos
diferentes ante idnticos mensajes.
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


MODIFICADORES DE ACCESO (JAVA)

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


CASO
Se pretende desarrollar un programa que
proporcione los atributos y mtodos para
implementar una clase llamada Triangulo.
A continuacin se presenta el desarrollo
completo de la clase en Java.
Notar con atencin la forma en que se
construyen los mtodos, prestando especial
inters a los parmetros pasados, as como a
los valores de retorno.
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


DECLARACIN DE LA CLASE
public class Triangulo {
private double a, b, c;
private double Area; }
Consta de 4 atributos. Son los necesarios para
continuar con la implementacin pedida.
Ahora hay que implementar los mtodos.

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


MTODOS SIN VALOR DE RETORNO
public void setLadoA(double A)

{ a=A;}

public void setLadoB(double B)

{ b=B;}

public void setLadoC(double C)

{ c=C;}

public void setLados(double A, double B, double C) {

a=A; b=B; c=C;}


Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


MTODOS CON VALOR DE RETORNO
public double getLadoA()
{ return a; }
public double getLadoB()
{ return b; }
public double getLadoC()
{ return c; }
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


MTODOS CON VALOR DE RETORNO (...cont)
public double calculaSemiPerimetro() {
return ((a+b+c)/2);
}
public double calculaPerimetro() {
return (a+b+c); }
public double calculaArea()
{
double p = calculaSemiPerimetro();
return Math.sqrt(p*(p-a)*(p-b)*(p-c));
}
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


MTODOS CON VALOR DE RETORNO (...cont)
public boolean esTriangulo()
{
if ((a<b+c) && (b<a+c) && (c<a+b) &&
(a>b-c) && (b>a-c) && (c>a-b))
return true;

else
return false;

Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


INSTANCIACIN
Ahora bien, mi nuevo objeto debe ser usado en el
programa principal. Esto es, debo crear una
instancia de la clase Triangulo.
public static void main(String[] args) {
Triangulo tri;
tri = new Triangulo();
// variables
double ladoA, ladoB, ladoC;
double Area;
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


COMUNICACIN (PASO) DE MENSAJES
Seguidamente invocamos a los mtodos del objeto
creado.
ladoA= 3;
ladoB= 4;
ladoC= 5;
tri.setLadoA(ladoA);
tri.setLadoB(ladoB);
tri.setLadoC(ladoC);
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


COMUNICACIN (PASO) DE MENSAJES (...cont)
if (tri.esTriangulo())
{
Area = tri.calculaArea();
System.out.println(El rea del tringulo es: + Area);
}
else {
System.out.println( Error, los lados ingresados no
forman un tringulo!);
}
return 0; }
Ing. Euler Tito Chura

PROGRAMACIN ORIENTADA A OBJETOS


COMUNICACIN (PASO) DE MENSAJES (...cont)

Los objetos se comunican con el exterior por


medio de mensajes, los cuales son pasados a
travs de sus mtodos, que son los NICOS que
pueden consultar/modificar los atributos privados.

Ing. Euler Tito Chura

GRACIAS POR SU
ATENCIN
Preguntas?

Ing. Euler Tito Chura

Das könnte Ihnen auch gefallen