Professional Documents
Culture Documents
INTRODUCCIN
Estimado participante sea usted bienvenido a esta casa de estudios en el presente diplomado,
estamos seguros de que el contenido ser muy provechoso para el desarrollo de sus objetivos
acadmicos y para el ejercicio exitoso de su carrera profesional.
El objetivo general de este Diplomado de Java Developer se centra en que el participante de
manera terico - prctico pueda.
Entender los conceptos de la Programacin Orientada a Objetos, usted encontrar la
teora necesaria, reforzada con ejemplos ilustrativos, que en la mayora de los casos estn
fundamentados con diagramas UML.
Aprender los conceptos fundamentales del lenguaje SQL y la programacin con
procedimientos almacenados, esto en cuanto al manejo de la Base de Datos MySQL
Server.
Aprender a programar aplicaciones de escritorio sobre plataforma Java SE utilizando
JDBC y la aplicacin del patrn de diseo DAO para crear una capa totalmente
transparente de acceso a una fuente de datos y la generacin de reportes usando iReport.
Aplicar Servlet, JSP y JSTL en la creacin de soluciones web sobre plataforma Java EE,
tambin se desarrollarn ejemplos ilustrativos de cmo combinar todas estas tecnologas
en la aplicacin del patrn de diseo MVC en la creacin de estas soluciones.
Aplicar el uso de framework para el desarrollo de soluciones Web empresariales. Como
Java Server Faces y Spring MVC.
Es por eso, que este Diplomado Java Developer no pretende ser un simple diplomado, sino ms
bien una gua prctica para toda persona que se inicie en el mundo de la programacin con
lenguaje Java y la creacin de aplicaciones de escritorio aplicacin Java SE y aplicaciones Web
empresariales Java EE .
Los Autores
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Modulo I
Programacin
Orientado a
Objetos
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Tema 01:
Clases y Objetos
En este tema 1 se desarrollar los primeros conceptos de la Programacion Orientada a
Objetos(POO).Veremos los conceptos de clase, atributo y operacinsegn notacion UML; luego su
implementacionusando el lenguaje Java, con la herramienta NetBeans y el modelador UML propio
de NetBeans.
Los puntos a tratar son:
1. Introduccion a POO
2. Definicin de Clase y Objeto.
3. Declaracion de Objetos
4. Alcance(variables y mtodos) de instancia y de Clase.
5. Constructores.
6. Encapsulamiento: Uso de Mtodos setter y getter.
7. Ejercicio.
8. Ejercicios Propuestos.
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
1. PROGRAMACION ORIENTADA A OBJETOS
Las clases son la base de la Programacin Orientada a Objetos ( POO ) , y sus
caractersticas ms importantes son:
a) Abstraccin
Consiste en representar las caractersticas esenciales de un objeto, olvidndose de
otras no esenciales. Definir una abstraccin significa describir una entidad del mundo
real, no importa lo compleja que sea y luego utilizarla en la descripcin de un programa.
Una clase es una abstraccin de un grupo de objetos, que tienen la posibilidad de
realizar una serie de operaciones.
b) Encapsulacin
Una clase se compone de atributos, constructores, mtodos que le dan funcionalidad a
los objetos que pertenecen a dicha clase.
Los atributos de una clase pueden ser de acceso privado (private), protegido
(protected) y aunque puedan ser de acceso pblico (public), jams deben serlo para
que cumplan con la caracterstica del Encapsulamiento de la Programacin Orientada a
Objetos. Los objetos solo pueden tener acceso a los atributos por medio de los
mtodos de la clase. El acceso a los mtodos es tanto para obtener (get) su valor como
para cambiarlo (set).
c) Herencia
Es una de las caractersticas fundamentales de los lenguajes de Programacin
Orientados a Objetos. Gracias a esta caracterstica podemos aprovechar los que hace
una clase para crear otra a partir de ella, agregndole atributos y mtodos
(Extensibilidad) y/o cambiando su funcionalidad (Reutilizacin). Extensibilidad y
reutilizacin son los argumentos vlidos para aplicar Herencia. De no darse estos
argumentos no se estara aplicando herencia con propiedad.
d) Polimorfismo
Mltiples formas de hacer una misma secuencia lgica.
- Sobrecarga de mtodos
- Herencia
- Implementacin de Interfaces
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
2. DEFINICION DE UNA CLASE Y OBJETO
Una clase es unaplantillaque sirve para producir y utilizar objetos. Cada objeto pertenece a
una sola clase. Se dice que un objeto es una instancia de una clase.
Una clase en Java tiene:
Atributos: propiedades de los objetos de la clase.
Mtodos: procedimientos que comparten los objetos de la clase.
Constructores: procedimientos que se ejecutan en el momento de la instanciacin del
objeto (tienen el mismo nombre de la clase).
RepresentacinUML
Nombre Clase
Atributos
Constructor
Mtodos Acceso get/set
3. DECLARACION DE OBJETOS
El operador new se utiliza para crear un objeto de un tipo de clase especifica , es decir , que
asigne memoria para el objeto. Para utilizar el operador new tenemos dos alternativas.
Sintaxis 1
NombreDeClase nombreDeVariable;
nombreDeVariable = new NombreDeClase ();Nombre Clase
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Acceso
Propia
Clase hija
Paquete
[
Todos
Privado
X
Protegido
X
X
X
T
Publico
X
X
X
p
X
o
En la primera instruccin se define la variable que apuntara a un objeto que se crea en la
Segunda instruccin.
Sintaxis 2
NombreDeClase nombreDeVariable= new NombreDeClase ();
En este caso tanto la creacion de la variable y la creacion del objeto se realizan en la misma
instruccin.
Estudiante estud1
estud1 =new Estudiante();
4. ALCANCE ( VARIABLES Y METODOS) DE INSTANCIA Y CLASE
1. Variables ( Atributos)
a) Variable de Instancia
Usada para definir atributos o el estado de un objeto en particular. Cada Objeto tendr
su propia copia local de variable definida en clase.
Sintaxis
[ TipoDeAcceso] TipoDeDatoNomVariable;
Tipo De Acceso
[
T
i i
p
o
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
b) Variable de Clase
Similar a las variables de Instancia, con la diferencia que sus valores se aplican a todas
las instancias y a la misma clase. Se definen y almacenan en la Clase.
No hay una copia del dato para cada objeto sino una sola copia que es compartida por
todos los objetos de la clase. Indica una variable global.
Sintaxis
[ TipoDeAcceso] static TipoDato nombVariable;
2. Metodos
a) Metodos de Instancia
Son Mtodos que se invocan por medio de una instancia (Objeto creado).
Declaracion
[ TipoDeAcceso] TipoRetornoNombreMetodo ([Lista_ Parametros])
{
[return Valor;]
}
Invocacion
NombreObjeto.NombreMetodo([Lista_ Parametros]);
b) Metodos de Clase
Son generalmente invocados para actuar sobre una instancia determinada sobre la
clase. Est disponible para cualquier instancia de la clase misma, as como para otras
clases. Al igual que una variable de clase, puede ser accedida sin que exista una
Instancia.
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Acceso
Propia
Clase hija
Paquete
Todos
Privado
X
Protegido
X
X
X
Publico
X
X
X
X
Declaracion
[ TipoDeAcceso] staticTipoRetornoNombreMetodo ([Lista_ Parametros])
{
[return Valor;]
}
Invocacion
NombreClase.NombreMetodo([Lista_ Parametros]);
Tipo De Acceso
P
u
b
l
i
Tipo De Retorno
Void: Cuando el metodo no retorna ningun valor
Sin Void : Significa que el metodo retorna un valor de algun tipo de dato,
entero ( int), cadena (String ), real (float ), Objeto ( Object).
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
5. CONSTRUCTORES
Cuando se crea un objeto ( se instancia una clase ) es posible definir un proceso de
inicializacion que prepare el objeto para ser usado. Esta inicializacion se lleva a cabo
invocando en un metodo especial denominado constructor . Esta invocacion se realiza cuando
se utiliza el operador new.
Sintaxis
Public classNombreClase
{
//Sobrecarga de Constructores
//Constructor 1
NombreClase()
{ SentenciasInicializacion ; }
//Constructor N
NombreClase( [Lista_Parametros,])
{ SentenciasInicializacion ; }
}
6. METODOS SET / GET
Una de las caractersticas de la POO es que el usuario no puede manipular en forma directa
los atributos de la clase. Por lo tanto, se debe implementar los atributos como
privados(private), y se debe implementar mtodos para acceder a ellos.
1. Metodo set
Mtodos que Modifican los valores de las propiedades de una clase.Requieren de un
Parmetro, no es indispensable valor de retorno.
Public voidsetAtributo(TipoDato Valor){
Variable( Atributo )= Valor;
}
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
2. Metodo get
Mtodos que Devuelven los valores propiedades de una clase.Requieren valor de
retorno ms no es indispensable parmetros.
Public TipoDeDatoAtributogetAtributo( ){
returnVariable / Atributo;
}
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
7. EJERCICIO PRACTICO
En esta prctica guiada se desarrollar la implementacin en cdigo Java de la Clase Producto,
encapsulamiento de atributos, creacin de Objetos y envo de mensajes haciendo uso de la
herramienta Netbeans.
Paso1: Crear Nuevo Proyecto
Paso2: Seleccionar un proyecto de Aplicacin en Java (Java Application).
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Paso3: Colocar un nombre al Proyecto y seleccionar una ruta
Paso4: Agregar un paquete a nuestro Proyecto
Paso5: Colocamos un Nombre al Paquete
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Paso6: Agregamos una Clase en Java a nuestro Paquete.
Paso7: Colocamos un nombre a nuestra Clase
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Paso8: Ingresamos los atributos de la Clase Producto
Paso9: Para crear el Constructor de la Clase, damos clic derecho en la clase
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Generamos automticamente el Constructor seleccionando los parmetros
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Paso10: Creamos los mtodos set y get, aplicando el concepto de encapsulamiento a los
atributos de la Clase.
Seleccionamos los atributos a quien queremos crearle su mtodo set y/o get.
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Paso11: Agregar por cdigo los mtodos para comprar y vender Productos, actualizando el
atributo cantidad de la Clase
Paso12: Agregar el mtodo toString(), dar clic derecho sobre la clase para Insertar Cdigo
toString(): Permite devolver en una Cadena todos el valor de los atributos de la Clase.
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Seleccionamos Generar automticamente mtodo toString
Resultado:
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Paso13: Crear una Clase Principal (Java MainClass), para hacer la Prueba a nuestra Clase
Producto
Colocamos un nombre a nuestra Clase Main
Paso14: Implementar el siguiente cdigo para la Clase Main PruebaProducto1:
- Crear 2 objetos de la Clase Producto con valores estticos.
- Simular la Compra de 20 Unidades del oP1.
- Simular la Venta de 10 Unidades del oP2.
- Reportar los datos de los Objetos oP1 y oP2.
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Paso15: Implementar el siguiente cdigo para la Clase Main PruebaProducto2 que haga lo
mismo que en la Clase MainPruebaProducto1, con la diferencia de que se permita el
Ingreso de datos por teclado.
Crear Clases usando el Modelador UML de Netbeans
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Paso1: CrearunProyecto
Paso2: Seleccionar un Proyecto UML que sea del Modelo Plataforma Java.
Colocarunnombre al proyecto
Paso3: Crear un Diagrama de Clase (ClassDiagram) y colocarle un nombre adecuado.
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Se muestra el diagrama de Clase vaco listo para agregar las clases.
Paso4: Seleccionar de la Paleta del lado derecho un archivo del tipo class y agregarlo al
diagrama para crear la Clase Producto.
Luego agregar los atributos dando clic derecho sobre la clase.
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Paso5: Agregar Parmetros al constructor de la Clase
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Paso6: Agregar Operaciones o mtodos a nuestra Clase, para este ejemplo agregar los
mtodos comprar(), vender() y toString().
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Paso7: Generar su cdigo Java de la Clase Producto, dando clic derecho sobre el Proyecto UML
y seleccionar GenerateCode
Indicar el sitio donde queremos que se genere el cdigo Java de la Clase Producto
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
Mensaje de que el Cdigo Java se ha generado correctamente!!!
Finalmente a partir de la Clase Producto que tenamos en el diagrama de Clase se logr generar
su cdigo en Java.
Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos
8. EJERCICIOS PROPUESTOS
1. Implemente una clase de nombre TV con los siguientes atributos : nmero de serie, marca
(Sony, Phillips,Panasonic, LG,Samsung), ao de fabricacin , precio en dlares . Considere
un mtodo que calcule el precio en soles a un tipo de cambio que se le indique como
parmetro.
2. Implemente una clase de nombre Empleado con los siguientes atributos: cdigo , nombre ,
rea laboral, sueldo, horas extras, afiliacin a una AFP. Adems , considere atributos de
valores comunes para todos los empleados , para los porcentajes de descuento por
afiliacin a una AFP( 11% del sueldo), por afiliacin al sistema nacional de pensiones ( 6%
del sueldo) y por salud ( 3% del sueldo ). Considere mtodos de calculo para el monto de
horas extras ( sueldo bsico/240 * horas extras ), monto de los descuentos por AFP , por
SNP, por salud , monto total de descuentos , sueldo total, sueldo neto.
El cdigo debe ser autogenerado con formato E-0001, E-0002, etc.