Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Steven Surez
La P.O.O. (tambin conocida como O.O.P., por sus siglas en ingls) es lo que se conoce como
un paradigma o modelo de programacin. Esto significa que no es un lenguaje especfico, o una
tecnologa, sino una forma de programar, una manera de plantearse la programacin. No es la
nica (o necesariamente mejor o peor que otras), pero se ha constituido en una de las formas de
programar ms populares e incluso muchos de los lenguajes que usamos hoy da lo soportan o
estn diseados bajo ese modelo (PHP, AS2, AS3,). Su uso se populariz a principios de la
dcada de los aos 1990. En la actualidad, existe una gran variedad de lenguajes de programacin
que soportan la orientacin a objetos.
Con la POO tenemos que aprender a pensar las cosas de una manera distinta, para escribir
nuestros programas en trminos de objetos, propiedades, mtodos y otras cosas que veremos
rpidamente para aclarar conceptos y dar una pequea base que permita soltarnos un poco con
este tipo de programacin.
Es un paradigma de programacin que usa los objetos en sus interacciones, para disear
aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia,
cohesin, abstraccin, polimorfismo, acoplamiento y encapsulamiento.
Entidad: En general definimos una entidad como algo concreto o abstracto, pero que existe y por
tanto es uno y diferente del resto. Puede ser una persona, una empresa, un animal e incluso en
ciertos contextos incluso objetos y cosas, aunque generalmente se refiere a una colectividad que
puede considerarse una unidad. Cada una de estas entidades tendra ciertos atributos propios. As,
los empleados tendran atributos como nombre, edad, estatura... los ordenadores otros como
identificador, procesador, ao de compra, y as para cada una de ellas. Las entidades pueden ser
de dos tipos:
Tangibles: Son todos aquellos objetos fsicos que podemos ver, tocar o sentir.
Intangibles: Todos aquellos eventos u objetos conceptuales que no podemos ver, un
sabiendo que existen, por ejemplo: la entidad materia, sabemos que existe, sin embargo,
no la podemos visualizar o tocar.
Clases: Una clase es un prototipo que se usa para definir las caractersticas y los
comportamientos que son comunes a todos los objetos de un mismo tipo. Tambin se puede decir
que una clase es una plantilla genrica para un conjunto de objetos de similares caractersticas.
Ejemplo:
Public class Persona {
# Atributos o Propiedades
# Mtodos
}
Ejemplo:
public class Carro{
String marca;
int kilometraje;
String color;
void encender(){
}
void acelerar(){
}
void apagar(){
}
}
Metfora
Persona: Es la metfora de una clase (la abstraccin de Juan, Pedro, Ana y Mara), cuyo
comportamiento puede ser caminar, correr, estudiar, leer, entre otros. Puede estar en estado
despierto, dormido, entre otros. Sus caractersticas (propiedades) pueden ser el color de ojos,
color de pelo, su estado civil, entre otros.
Los objetos son entidades que tienen un determinado estado, comportamiento (mtodo) e
identidad:
El estado est compuesto de datos o informaciones; sern uno o varios atributos a los que se
habrn asignado unos valores concretos (datos).
El comportamiento est definido por los mtodos o mensajes a los que sabe responder dicho
objeto, es decir, qu operaciones se pueden realizar con l.
La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras
palabras, es su identificador (concepto anlogo al de identificador de una variable o una
constante).
Para crear los objetos en Java se usa la palabra clave new. La sintaxis es la siguiente:
Nombre_Clase Nombre_Objeto = new Nombre_Clase ();
Por ejemplo:
Celular cel = new Celular ( );
El objeto, ahora, es cel, que se ha creado siguiendo el modelo de la clase Celular.
Polimorfismo: Es la capacidad que tienen los objetos de una clase de responder al mismo
mensaje o evento e funcin de los parmetros utilizados durante su invocacin. Un objeto
polimrfico es una entidad que puede contener valores de diferentes tipos durante la ejecucin
del programa.
Significa una sola interfaz y mltiples implementaciones. En otras palabras, los nombres de
mtodos son los mismos, pero tienen diferentes implementaciones basadas en los parmetros que
le son pasados, o en los objetos sobre los cuales son invocados.
Ejemplo.
Las fechas pueden ser creadas de cualquiera de estas formas:
Por ejemplo, el rea de un tringulo, rectngulo y crculo, son calculados de manera distinta;
sin embargo, en sus clases respectivas puede existir la implementacin del rea bajo el nombre
comn rea. En la prctica y dependiendo del objeto que llame al mtodo, se usar el cdigo
correspondiente.
Figura_Geomtrica
Atributos:
Mtodos:
area ()
Tringulo Rectngulo
Circulo
Atributos: Atributos:
Atributos:
base lado_1
radio
altura lado_2
Mtodos:
Mtodos: Mtodos:
area () = Pi*radio*radio
area () = (base*altura)/2.0 area () = lado_1*lado_2
Una abstraccin denota las caractersticas esenciales de un objeto (datos y operaciones), donde
se capturan sus comportamientos. En los problemas del mundo real siempre se encuentra
presentes un sin nmeros de caracterstica o factores que pueden intervenir o no en el problema, y
a la larga formar parte o quedar fuera de la solucin. La abstraccin es la tcnica que permite
reconocer los elementos esenciales para la solucin de un problema dejando de lado los detalles
irrelevantes. Ejemplo representa grficamente las entidades Crculo, Tringulo y Rectngulo.
Entidad: Crculo
Atributos:
Color = Verde
Radio = 3.6
Mtodos:
area () = pi * radio * radio
Para estas entidades se pide calcular el rea de las mismas, luego de aplicar el proceso de
abstraccin, se verifica que los atributos color del Crculo, color y tipo del Tringulo, adems de
color del rectngulo no son relevantes para el clculo del rea. El ejemplo representa
grficamente las entidades Crculo, Tringulo y Rectngulo luego del proceso de abstraccin. La
abstraccin consiste en crear un modelo simplificado de las entidades del mundo real, dejando de
lado lo irrelevante para concentrarse en los esenciales a la solucin del problema.
Atributos: Atributos:
base =3.0 lado1 = 4.5
altura = 7.0 lado2 = 3.5
Mtodos: Mtodos:
area () = (base * altura)/ 2.0 area () = lado1 * lado2
Entidad: Crculo
Atributos:
Radio = 3.6
Mtodos:
area () = pi * radio * radio
Herencia: Permite construir objetos a partir de otros objetos. En otras palabras permite la
reusabilidad de objetos. La herencia se basa en la jerarqua del mundo real y del principio de
compartir caractersticas comunes, la cual estn contenida en una clase, por ejemplo la clase:
Animales se dividen en mamferos, insectos, aves, peces, entre otros. Al heredar de una clase
mayor llamada: Superclase o Clase Base y las que heredan se les denominan: subclases o Clases
Derivadas, estas clases derivadas heredan, las caractersticas de La Clase Base (Atributos y
Mtodos), pero las subclases pueden agregar otras caractersticas nuevas, es decir nuevos
atributos y/o nuevos mtodos.
Existen dos tipos de Herencia: la herencia simple, donde cada subclase tiene como mximo
una sola superclase.
La herencia simple: Cada clase tiene slo una superclase. La clase Profesor, la clase Alumno,
la clase Obrero y la clase Empleado heredan las propiedades de la clase Persona (superclase,
herencia simple).
Persona
int dni
String nombre
String direccin
int telfono
int obtenerDni()
void modificarDni(int dni)
void mostrarPorPantalla()
Alumno Profesor
int[] notas Asignatura[] asigs
void nuevaNota(int nota) void mostrarPorPantalla()
void listadoNotas()
void mostrarPorPantalla()
Herencia mltiple: Cada clase puede tener asociada varias superclases. La clase Preparador
(subclase) hereda propiedades de la clase Docente y de la clase Estudiante (herencia mltiple).
Animal
Animal Anfibio
Profesor Estudiante
Preparador
Nota: En Java una clase solo puede tener una sper clase. Esto significa que una clase en Java no
puede directamente derivar de varias clases. Sin embargo, Java soporta herencia mltiple
indirectamente usando interfaces.
Encapsulamiento: Es la propiedad del Enfoque Orientado a Objetos (EOO) que permite ocultar
al mundo exterior la representacin interna del objeto. Esto quiere decir que el objeto puede ser
utilizado, pero los datos esenciales del mismo no son conocidos fuera de l. La idea central del
encapsulamiento est estrechamente relacionada con el principio de ocultamiento de informacin,
ya que consiste en esconder los detalles y mostrar lo relevante. Permite el ocultamiento de la
informacin separando el aspecto correspondiente a la especificacin de la implementacin; de
esta forma, distingue el qu hacer del cmo hacer. La especificacin es visible al usuario,
mientras que la implementacin se la oculta. El encapsulamiento en un sistema orientado a objeto
se representa en clase u objeto, definiendo sus atributos y mtodos.
Es el concepto que ayuda a mantener juntos los datos (atributos) y las funciones o
procedimientos (mtodos) que operan sobre estos. Se divide en dos partes:
Interna: La informacin que necesita el objeto para operar y que es innecesario para los dems
objetos de la aplicacin. Estos atributos se denominan privados y tienen como marco de
aplicacin nicamente a las operaciones asociadas al objeto.
Externa: La que necesita el resto de los objetos para interactuar con el objeto que definimos.
Estas propiedades se denominan pblicas y corresponde a la informacin que necesitan conocer
los restantes objetos de la aplicacin respecto del objeto definido para poder operar.
Atributos: Son los datos o variables que caracterizan al objeto y cuyos valores en un momento
dado indican su estado. Un atributo es una caracterstica de un objeto. Mediante los atributos se
define informacin oculta dentro de un objeto, la cual es manipulada solamente por los mtodos
definidos sobre dicho objeto. Un atributo consta de un nombre y un valor. Cada atributo est
asociado a un tipo de dato, que puede ser simple (entero, real, lgico, carcter, string) o
estructurado (arreglo, registro, archivo, lista, entre otros.).
La sintaxis es la siguiente:
Mode_Acceso Tipo_Dato Nombre_Atibuto
Mtodos: es un conjunto de instrucciones definidas dentro de una clase, que realizan una
determinada tarea y a las que podemos invocar mediante un nombre. Los mtodos constituyen la
secuencia de acciones que implementan las operaciones sobre los objetos. La implementacin de
los mtodos no es visible fuera de objeto.
Se usan para tener acceso y manipular las variables. Usualmente, los mtodos se usan para
asignar, recuperar, o cambiar los valores almacenados en una variable.
ltima Modificacin: 17/07/2014 10
UNIDAD 1. Programacin Orientada a Objetos Ing. Steven Surez
La sintaxis es la siguiente:
Mode_Acceso Tipo_Dato Nombre_Mtodo (Lista de parmetros)
Modificadores de Acceso: Definen los permisos atributos y mtodos de una clase. Los
modificadores de acceso son: public, prvate, protected, y package.
Modificadores de Acceso public (+, ): Indica que los atributos y mtodos ser visible tanto
dentro como fuera de la clase, es decir, es accesible desde todos lados.
Modificadores de Acceso prvate (-, ): Indica que los atributos y mtodos slo sea visible
para la propia clase que lo utiliza.
Modificadores de Acceso protected (#, ): No ser accesible desde fuera de la clase, pero si
podr ser accesado por la clase en la que esta definidas, sus subclases que se derivan y las clases
presentes en el mismo paquete.
Modificadores de acceso
La misma Otra clase del mismo Subclase de otro Otra clase de otro
clase paquete paquete paquete
public Si Si Si Si
protected Si Si Si No
package Si Si No No
private Si No No No
Tipos Primitivos: Son aquellos tipos de informacin ms usuales y bsicos, son los habituales de
otros lenguaje de programacin.
Boolean: No es un valor numrico, solo admite los valores true o false 1 byte (8 bits).
Char: Usa el cdigo Unicode. Comprende el cdigo ASCII y ocupa cada carcter 2 byte
(16 bits).
Enteros: Difieren en las precisiones y pueden ser positivos o negativos.
Byte: 1 byte. Valor entero entre -128 y 127
Short: 2 bytes. Valor entero entre -32768 y 32767
Las variables float deben terminar con f o F. Ejemplos: float a = 1.1f; double d = 1.1;
Tipos de Referencia: Los tres tipos de referencia provistos por Java son:
Tipo Array (Arreglo).
Tipo Class (Clase).
Tipo Interface (Interfaz).
Cuando un objeto deja de ser utilizado Java libera la memoria asignada al objeto y la reutiliza.
El entorno de ejecucin de Java decide cundo puede reutilizar la memoria de un objeto que ha
dejado de ser til en un programa. El programador no debe preocuparse de liberar la memoria
utilizada por los objetos. A este proceso se le conoce como recoleccin de basura. Java cuenta
con un sistema recolector de basura (Garbage collector) que se encarga de liberar los objetos y
los espacios de memoria que ocupan cuando estos dejan de ser utilizados.
constructor por defecto creado por el sistema de tiempo de ejecucin. El constructor por defecto no
acepta ningn argumento. Tiene una implementacin vaca y no realiza nada. Java permite tener
tantos constructores como se requiere para una clase, la nica diferencia ser en el nmero o el
tipo de argumentos para una clase. Esto se denomina sobrecarga del constructor.
Ejemplo:
public class Empleado () {
int id;
String Nombre;
}
public Empleado () {
}
Sobrecarga de Mtodo: Java permite tener dos o ms mtodos con el mismo nombre dentro de la
misma clase. Como los constructores, los mtodos sobrecargados deben tener un nmero
diferente de parmetros o diferentes tipos de datos en los parmetros. Esta es una forma de lograr
polimorfismo en Java.
Ejemplo:
viod imprimirResultado (int a, int b) {
System.out.println (a);
System.out.println (b);
}
System.out.println(c);
}
viod imprimirResultado (char c, int a) {
System.out.println (a);
System.out.println (b);
}