Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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.
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
Modulo I
Programacin
Orientado 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.
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.
y sus
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
RepresentacinUML
Nombre Clase
Atributos
Constructor
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
Estudiante estud1
Sintaxis
[ TipoDeAcceso] TipoDeDatoNomVariable;
Tipo De Acceso
Acceso
Propia
Clase hija
Paquete
Privado
Protegido
Publico
Todos
p
o
p
o
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
2. Metodos
a) Metodos de Instancia
Son Mtodos que se invocan por medio de una instancia (Objeto creado).
Declaracion
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.
Declaracion
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
Sin Void : Significa que el metodo retorna un valor de algun tipo de dato,
entero ( int), cadena (String ), real (float ), Objeto ( Object).
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 ; }
}
1. Metodo set
Mtodos que Modifican los valores de las propiedades de una clase.Requieren de un
Parmetro, no es indispensable valor de retorno.
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;
}
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.
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.
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.
Resultado:
Paso13: Crear una Clase Principal (Java MainClass), para hacer la Prueba a nuestra Clase
Producto
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.
Paso1: CrearunProyecto
Paso2: Seleccionar un Proyecto UML que sea del Modelo Plataforma Java.
Colocarunnombre al proyecto
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.
Paso6: Agregar Operaciones o mtodos a nuestra Clase, para este ejemplo agregar los
mtodos comprar(), vender() y toString().
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
Finalmente a partir de la Clase Producto que tenamos en el diagrama de Clase se logr generar
su cdigo en Java.
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.