You are on page 1of 28

Diplomado Java Developer Mdulo I: Programacin Orientada a Objetos

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.

You might also like