Programación Orientada A Objetos Con Java - NetBeans
Programación Orientada A Objetos Con Java - NetBeans
Programación Orientada A Objetos Con Java - NetBeans
ORIENTADA A OBJETOS
ING. HCTOR DE L A CRUZ
PROGRAMACIN ORIENTADA A
OBJETOS
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
PROGRAMACIN ORIENTADA A
OBJETOS
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
LENGUAJE JAVA
APIs
Colecciones de clases existentes en las bibliotecas de
clases de Java
Fundamentos para conocer el mundo de Java.
El primero es el lenguaje Java en s, de manera que usted
pueda programar sus propias clases;
El segundo son las clases incluidas en las extensas
bibliotecas de clases de Java
LENGUAJE JAVA
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
CONCEPTOS DE POO
Abstraccin
Denota las caractersticas esenciales de un objeto que lo
distingue de los dems
Visin simplificada de cierta parte de la realidad.
La eleccin de los detalles esenciales es subjetiva.
La clave de la POO est en abstraer los mtodos y los
datos comunes a un conjunto de objetos y almacenarlos
en una clase.
Hay que centrarse en lo que es y lo que hace un objeto,
antes de decidir como debera ser implementado
CONCEPTOS DE POO
Modularidad
Fragmentar un programa en
componentes individuales reduce
su complejidad en algn grado.
Propiedad que tiene un sistema
que ha sido descompuesto en un
conjunto de mdulos coherentes y
dbilmente acoplados.
Caractersticas de la
modularidad
Encapsulamiento
Ocultamiento de la informacin
CONCEPTOS DE POO
Encapsulacin y
ocultamiento
Consiste en separar el aspecto
externo del objeto, al cual
pueden acceder otros objetos, del
aspecto interno del mismo, que
es inaccesible para los dems.
Permite tratar a un objeto como
una caja negra.
Permite que se modifique la
implementacin interna de un
objeto sin afectar a los clientes
que lo utilizan.
CONCEPTOS DE POO
Polimorfismo
El polimorfismo est muy ligado a la herencia.
Una misma operacin puede ser ejecutada en forma
diferente por objetos de distintas clases. Ejemplo:
A una figura se le puede calcular el rea
Un circulo es una figura
Un rectngulo es una figura
A ambos se les puede calcular el rea pero cada uno tiene una
forma distinta de calcularlo
CONCEPTOS DE POO
Qu es herencia?
Diferentes tipos de objetos a menudo tienen una cierta
cantidad de caractersticas en comn entre s.
Bicicletas de montaa, bicicletas de carretera y bicicletas
tndem, por ejemplo, todos comparten las caractersticas de
las bicicletas (velocidad actual, frecuencia de pedaleo
actual, la marcha actual).
Sin embargo, cada uno tambin define caractersticas
adicionales que las hacen diferentes:
las bicicletas tndem tienen dos asientos y dos conjuntos de
manillar;
bicicletas de carretera tienen manillar de cada;
algunas bicicletas de montaa tienen un anillo de cadena
adicional, dndoles una relacin de transmisin ms baja.
CONCEPTOS DE POO
Qu es herencia?
La programacin orientada a objetos permite que las
clases hereden estado y comportamiento de uso comn
de otras clases.
En este ejemplo, la bicicleta se convierte ahora en la
superclase de la bicicleta de montaa, bicicleta de
carretera, y la bicicleta tndem.
En el lenguaje de programacin Java, a cada clase se le
permite tener una superclase directa, y cada superclase
tiene el potencial de un nmero ilimitado de subclases
CONCEPTOS DE POO
Tipos de Herencia
Simple:
Clase A heredada de otra Clase B
Mltiple:
Clase A hereda de varias otras clases C, D, etc.
CONCEPTOS DE POO
Overloading o Sobrecarga
Permite definir varios mtodos con el mismo nombre,
pero con diferentes parmetros (cantidad y/o tipo).
Ejemplo:
Qu es un objeto?
Las bicicletas tambin tienen estado (marcha actual,
rapidez de pedaleo actual, la velocidad actual) y el
comportamiento (el cambio de marchas, el cambio de la
rapidez de pedaleo, la aplicacin de los frenos).
Identificar el estado y el comportamiento de los objetos
del mundo real es una gran manera de empezar a pensar
en trminos de programacin orientada a objetos.
Tome un minuto en este momento para
observar los objetos del mundo real que se
encuentran en su rea inmediata. Para cada
objeto que se ve, hgase dos preguntas:
"Qu estados posibles puede estar en este
objeto?" y "Qu posible comportamiento
puede llevar a cabo este objeto?".
CONCEPTOS DE POO
Qu es una clase?
En el mundo real, a menudo encontrar muchos objetos
individuales todos del mismo tipo.
Puede haber miles de otras bicicletas en existencia, todas de
la misma marca y modelo. Cada bicicleta se construy a
partir del mismo conjunto de planos y, por tanto, contiene los
mismos componentes.
En trminos de orientacin a objetos, se dice que la
bicicleta es una instancia de la clase de objetos
conocidos como bicicletas.
Una clase es el modelo a partir del cual
se crean los objetos individuales.
PROGRAMACIN ORIENTADA A
OBJETOS
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
DECLARACIN DE CLASES EN JAVA
Clase
Una clase es un prototipo o plantilla que define las
variables y los mtodos comunes a un cierto tipo de
objetos.
Son los moldes de los cuales se pueden crear mltiples
objetos del mismo tipo.
La clase define las variables y mtodos comunes a los
objetos del mismo tipo pero despus, cada objeto tendr
sus propios valores para esas variables.
DECLARACIN DE CLASES EN JAVA
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
DECLARACIN DE CAMPOS
Tipos de variables:
Las variables de instancia (campos no estticos)
Tcnicamente hablando, los objetos almacenan sus estados
individuales en "campos no estticos", que son, campos
declarados sin la palabra clave static.
Los campos no estticos son tambin conocidos como
variables de instancia debido a que sus valores son nicos
para cada instancia de una clase (a cada objeto, en otras
palabras).
DECLARACIN DE CAMPOS
Tipos de variables:
Las variables de clase (campos static)
Una variable de clase es cualquier campo declarada con el
modificador static;
esto le dice al compilador que hay exactamente una copia de
esta variable en existencia, sin importar cuntas veces se ha
creado una instancia de la clase.
DECLARACIN DE CAMPOS
Tipos de variables:
Las variables locales
similares a cmo un objeto almacena su estado en los
campos, un mtodo a menudo almacenar su estado temporal
de las variables locales.
La sintaxis para declarar una variable local es similar a la que
se declara un campo (por ejemplo, int cuenta = 0;).
No hay una palabra clave especial que designa una variable
como local; que la determinacin proviene en su totalidad de
la ubicacin en la que se declara la variable - que est entre
las llaves de apertura y cierre de un mtodo.
Como tal, las variables locales son accesibles solamente a los
mtodos en los que se declaran; que no son accesibles desde
el resto de la clase.
DECLARACIN DE CAMPOS
Tipos de variables:
Parmetros
Recordemos que la firma para el mtodo principal es
public static void main (String [] args)
Aqu, la variable args es el parmetro para este mtodo.
Lo importante para recordar es que los parmetros siempre
se clasifican como "variables" y no "campos".
Esto se aplica a otras construcciones de parmetros aceptar
as (como constructores y gestores de excepciones) que
veremos despus en el tutorial.
PROGRAMACIN ORIENTADA A
OBJETOS
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
DECLARACIN DE MTODOS
Ejemplo
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
ACCESO A LOS MIEMBROS DEL OBJETO
public class PruebaPerro {
public static void main(String[] args) {
d.setPeso(42);
System.out.println("El peso del perro d es +
d.getPeso());
d.setPeso(-42);
System.out.println("El peso del perro d es +
d.getPeso());
}
}
La salida es:
El peso del perro d es 0
El peso del perro d es 42
El peso del perro d es 42
ACCESO A LOS MIEMBROS DEL OBJETO
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
FORMA DE OCULTAR LA INFORMACIN
d.day = d.day + 1;
// no hay comprobacin de comportamiento cclico
// (wraparound)
FORMA DE OCULTAR LA INFORMACIN
Forma de ocultar
las variables de
instancia de la
clase MyDate
FORMA DE OCULTAR LA INFORMACIN
d.setDay(32);
// da no vlido, devuelve false
d.setMonth(2); d.setDay(30);
// posible pero incorrecto, setDay devuelve false
d.setDay(d.getDay() + 1);
// esta lnea devuelve false si se produce
// comportamiento cclico
PROGRAMACIN ORIENTADA A
OBJETOS
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
ENCAPSULACIN
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
DECLARACIN DE CONSTRUCTORES
public Perro() {
peso = 42;
}
}
DECLARACIN DE CONSTRUCTORES
public Perro() {
peso = 42;
}
}
Constructor Predeterminado
Cada clase tiene al menos un constructor. Si no se
escribe ninguno, el lenguaje Java se encarga de
suministrarlo. En ese caso, el constructor no tiene
argumentos y su cuerpo est vaco.
El constructor predeterminado permite crear instancias
de los objetos, por ejemplo new Xyz(). sin parmetros-
DECLARACIN DE CONSTRUCTORES
Constructor Predeterminado
Si se agrega la declaracin de un constructor a una clase
que no tena ningn constructor explcito, se pierde el
constructor predeterminado.
A partir de ese momento, y a menos que el constructor
agregado no tenga argumentos, las llamadas a new
Xyz() generarn errores de compilacin.
PROGRAMACIN ORIENTADA A
OBJETOS
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
ORGANIZACIN DE LOS ARCHIVOS
FUENTES
Los archivos fuente de Java tienen el siguiente
formato:
[<declaracin_paquete>]
<declaracin_importacin>*
<declaracin_clase>+
import transporte.dominio.*;
import java.util.List;
import java.io.*;
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
PAQUETES DE SOFTWARE
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
SENTENCIA PACKAGE
package <nombre_paq_superior>[.<nombre_paq_subordinado>]*;
SENTENCIA PACKAGE
package transporte.dominio;
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
SENTENCIA IMPORT
import
<nombre_paq>[. <nombre_paq_subordinado>]. <nombre_clase>;
o bien
package transporte.informes;
import transporte.dominio.*;
import java.util.List;
import java.io.*;
package transporte.informes;
import transporte.dominio.*;
import java.util.List;
import java.io.*;
import java.io.Writer;
Si quiere acceso a todas las clases del paquete, utilice el
asterisco *. Por ejemplo, para acceder a todas las clases
del paquete java.io, escriba:
import java.io.*;
SENTENCIA IMPORT
1. Lenguaje Java
2. Conceptos de POO
3. Declaracin de Clases en Java
4. Declaracin de Campos
5. Declaracin de Mtodos
6. Acceso a los miembros del objeto
7. Forma de ocultar la informacin
8. Encapsulacin
9. Declaracin de Constructores
10.Organizacin de los archivos fuentes
11.Paquetes de Software
12.Sentencia package
13.Sentencia import
14.Disposicin de los directorios y los paquetes
DISPOSICIN DE LOS DIRECTORIOS Y
LOS PAQUETES
Los paquetes se almacenan en un rbol de
directorios cuyas ramas son los nombres de los
paquetes. Por ejemplo, el archivo Empresa.class
se encontrar en la estructura de directorios que
aparece en la Figura:
DISPOSICIN DE LOS DIRECTORIOS Y
LOS PAQUETES