6 Curso de POO en Java - clases y objetos
-
Upload
clara-patricia-avella-ibanez -
Category
Documents
-
view
1.413 -
download
9
description
Transcript of 6 Curso de POO en Java - clases y objetos
Clases y objetos
ClaseConcepto: Una clase es la abstracción
de las propiedades y operaciones o
acciones que ejecutan los objetos del
mundo real.
Concepto: Los objetos son
instancias de una clase
Objeto
Después de identificar los requerimientos de una aplicación, debemos
identificar las clases y los objetos necesarios para construir la aplicación,
así que vamos a ver qué son clases y objetos.
En términos
coloquiales la
CLASE es como si
fuera una plantilla
que sirve para
crear los objetos
Es decir, las unidades que existen en el
mundo real de una clase específica.
Una similitud es la siguiente:
La clase es como un molde para hacer
tortas y todas las tortas hechas con el
molde son los objetos
Clases y objetos
Clase Objetos de la clase
Los objetos que existen en el mundo real pueden ser conceptuales o
físicos. Este es un ejemplo de objetos físicos.
Veamos los siguientes ejemplos de clases y objetos
Vehículo
MarcaReferenciaModeloPlacaColorValor
Características de la clase
Nombre de la clase
Marca: ChevroletReferencia: AveoModelo: 2012Placa: CDW152Color: RojoValor: $20,000,000
Marca: RenaultReferencia: ClioModelo: 2010Placa: DMK789Color: VerdeValor: $15,000,000
Objeto 1 Objeto 2
Marca: FordReferencia: FiestaModelo: 2013Placa: AYR548Color: AzulValor:$35,000,000
Objeto 3
Cada objeto tiene valores propios para cada una de las
características de la Clase
Clases y objetos
Clase Objetos de la clase
Ahora veamos un ejemplo de objetos conceptuales
Cuenta bancaria
NúmeroTitularTipoSaldo
Características de la clase
Nombre de la clase
Número: 45878Titular: Sandra ParraTipo: AhorrosSaldo: 500,000
Objeto 1 Objeto 2 Objeto 3
Número: 75369Titular: Pedro TorresTipo: CorrienteSaldo: 1,800,000
Número: 85214Titular: Luz GómezTipo: AhorrosSaldo: 120,000
Los objetos conceptuales existen en el mundo real pero por no son
tangibles.
Las características de las clases que se presentan en los ejemplos son
solo algunas, porque pueden tener muchas más.
Clases y objetos
Clase Servicios
Las clases no solo tienen características,
también tienen servicios, por ejemplo:
Cuenta bancaria
Número: 85214Titular: Luz GómezTipo: AhorrosSaldo: 120,000
Acciones que se pueden realizar
sobre los objetos de la
clase Consignar Retirar Abonar intereses Cobrar comisión mensual Etc…
Vehículo Calcular impuesto anual Cambiar el valor Matricular ante tránsito Pagar comparendo Etc…
Clases y objetos
Recordemos nuestro proceso para desarrollar
una aplicación de software:
Primero identificamos los alcances del proyecto o dominio del problema
(requerimientos)
Ahora debemos identificar las
clases y los objetos
involucrados en el mundo del
problema
Clases y objetosEstos dos pasos del proceso los vamos a ver con un ejemplo:
Vamos a construir una aplicación que nos permita crear un vehículo que pertenecea una persona, así que debe permitir crear la persona, también se debe podercambiar el valor del vehículo porque este se va desvalorizando con el tiempo yfinalmente la aplicación debe permitir que se calcule el valor a pagar comoimpuesto anual, que corresponde al 2% del valor del vehículo.
Los datos del vehículo son: Marca, referencia, modelo, placa, color, valorLos datos de la persona son: número de documento de identidad, nombre,apellido, fecha de nacimiento, género.
1. Identificamos los requerimientos de la aplicación
(para este ejercicio, se identifican los requerimientos
funcionales)
Crear vehículo Crear persona Cambiar valor de vehículo Calcular impuesto
Clases y objetos
2. Elaboramos el diagrama de casos de
uso
Crear vehículo Crear persona
Cambiar valor de vehículo
Cambiar valor de vehículousuario
3. Especificamos los requerimientos
Nombre R1 – Crear vehículo
Resumen Permite adicionar a la aplicación los datos básicos de un vehículo
Entradas Marca, referencia, modelo, placa, color, valor
Resultado Un vehículo es creado en la aplicación
Nombre R2 – Crear persona
Resumen Permite adicionar a la aplicación a la persona propietaria del vehículo
Entradas Número de documento de identidad, nombre, apellido, fecha de
nacimiento, género, vehículo
Resultado La persona propietaria del vehículo es adicionada a la aplicación
Nombre R3 – Cambiar valor vehículo
Resumen Asigna un nuevo valor al vehículo cuando este cambia
Entradas Nuevo valor del vehículo
Resultado El valor anterior del vehículo es actualizado por el nuevo valor
Nombre R4 – Calcular impuesto
Resumen Realiza las operaciones necesarias para obtener el valor que se debe pagar por como impuesto
anual del vehículo. El impuesto es el 2% del valor del vehículo.
Entradas Ninguno
Resultado Calcula y muestra el valor que se debe pagar por impuesto del vehículo
Hasta este paso hemos identificado el dominio del problema
Clases y objetos
4. Identificamos las entidades involucradas en el mundo del problema (vida real) y sus características
Entidad Características Tipo de dato * Ejemplo
Vehículo MarcaReferenciaModeloPlacaColorValor
Cadena de caracteresCadena de caracteresEnteroCadena de caracteresCadena de caracteresEntero
RenaultClio2010DHU457Rojo15000000
Persona Doc. de identidadNombreApellidoFecha de nacimientoGénero
Cadena de caracteresCadena de caracteresCadena de caracteres
1026513858Carlos AndrésParra Jiménez27/01/1984M
*Los tipos de datos hacen referencia a la clase de valores que pueden tener las características. Nos detendremos un momento en recordar los tipos de datos
Clases y objetosLos tipos de datos más comunes en programación son:
Cadena de caracteres
Conformados por varios caracteres alfa-numéricos seguidos.En programación, por lo general se representan entre comillas dobles.Ejemplos:“Sandra Lopez”“Calle 12 #23-45”“7452685 ext 1201”
CaracterCorresponden a cada uno de los dígitos (0 a 9), letras y símbolos queconforman las palabras. Se representan en programación con comilla sencilla.Ejemplos:‘a’‘<‘‘#’‘5’
Clases y objetosLos tipos de datos más comunes en programación son:
EnteroCorresponden a valores numéricos positivos o negativos que no tienenfracción decimal. Ejemplos:250-152
RealCorresponden a valores numéricos positivos o negativos que tienen fraccióndecimal. Ejemplos:265.25-45.7-0.4778
LógicosSon valores que solo pueden tener dos estados: verdadero o falso. Ejemplos:truefalse
Clases y objetos5. A partir de las entidades identificamos
las clases y sus atributos.
Clase Atributos Tipo de dato Objetos
Vehículo MarcaReferenciaModeloPlacaColorValor
Cadena de caracteresCadena de caracteresEnteroCadena de caracteresCadena de caracteresEntero
“Renault”“Clio”2010“DHU457”“Rojo”15000000
Persona Doc. de identidadNombreApellidoFecha de nacimientoGénero
Cadena de caracteresCadena de caracteresCadena de caracteresCadena de caracteresCaracter
“1026513858”“Carlos Andrés”“Parra Jiménez”“27/01/1984”‘M’
Las entidades del mundo real se convierten en clases en el mundo de la programación, de la misma
manera las características se llaman atributos y los servicios se
llaman métodos
Clases y objetos
Clase
Nombre
Atributos
Métodos
Una vez identificadas las clases, se modela la solución de la aplicación utilizando el DIAGRAMA DE CLASES de UML.
En el diagrama de clases se dibuja una caja por cada clase, recordando que la clase tiene los siguientes componentes:
Nombre
- atributo1: tipo de dato- atributo2: tipo de dato- atributo3: tipo de dato…- atributoN: tipo de dato
+ método1(parámetros): tipo de dato de retorno+ método2(parámetros): tipo de dato de retorno…+ métodoN(parámetros): tipo de dato de retorno
Clases y objetos
Relación de asociación
Las clases tienen relaciones con otras clases y estas relaciones también se incluyen en el diagrama de clases.
Por ahora veremos la relación de ASOCIACIÓN, aunque existen más tipos de relaciones (las estudiaremos más adelante, cuando avancemos en el curso).
ClaseB
atributos
métodos
ClaseA
atributos
métodos
Se representa con una flecha Cada objeto de la ClaseA conoce un objeto de la ClaseB, pero no lo contrario
Clases y objetosContinuando con nuestro ejemplo de la aplicación del vehículo, el diagrama que representa las clases identificadas es el siguiente:
VehiculoPersona
- docId: String- nombre: String- apellido: String- fechaNac: String- género: char
+crearPersona(docN:String, nombreN: String, apellidoN: String, fechaNacN:String, generoN: char, vehiculo:Vehiculo): void
tiene 1- marca: String- referencia: String- modelo: int- placa: String- color: String- valor: int
Por lo general en el diagrama de clases seutiliza el tipo de dato del lenguaje en el quese va a desarrollar la aplicación.En java los tipos básicos de datos son:
Cadena de carácter: StringCaracter: charEntero: intReal: doubleLógico: boolean
En este ejemplo la relación de
ASOCIACIÓN se lee:“Cada persona tiene
un vehículo”
+crearVehiculo(marcaN:String, referenciaN: String, modeloN: int, placaN:String, colorN: String, valorN: int): void+cambiarValor(valorNuevo: int): void+calcularImpuesto(void): double
Más adelante veremos cómo se interpretan los métodos
Clases y objetos
Retomando nuestro proceso para desarrollar
una aplicación de software:
Con el diagrama de clases elaborado, cumplimos
con esta etapa
Ahora podemos pasar a escribir el código fuente
en Java(siguiente tema)
Fuentes bibliográficas• [1] Academia SAI de Sun Microsystems (link no disponible actualmente)
https://sailearningconnection.skillport.com
• [2] Fundamentos de Programación. Aprendizaje activo basado en casos. Jorge A. Villalobos y Ruby Casallas. Pearson educación. 2006.