Está en la página 1de 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

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

Acceso

Propia

Clase hija

Paquete

Privado

Protegido

Publico

Todos

p
o

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

Declaracion

[ TipoDeAcceso] staticTipoRetornoNombreMetodo ([Lista_ Parametros])


{
[return Valor;]
}

Invocacion

NombreClase.NombreMetodo([Lista_ Parametros]);

Tipo De Acceso

Acceso

Propia

Clase hija

Paquete

Privado

Protegido

Publico

Todos

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.

También podría gustarte