6 Curso de POO en Java - clases y objetos

17
Clases y objetos Clara Patricia Avella Ibáñez Tunja – Boyacá – Colombia Docente universitaria [email protected]

description

6 Clases y objetos

Transcript of 6 Curso de POO en Java - clases y objetos

Page 1: 6  Curso de POO en Java - clases y objetos

Clases y objetos

Clara Patricia Avella Ibáñez

Tunja – Boyacá – ColombiaDocente [email protected]

Page 2: 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

Page 3: 6  Curso de POO en Java - clases y 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

Page 4: 6  Curso de POO en Java - clases y objetos

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.

Page 5: 6  Curso de POO en Java - clases y objetos

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…

Page 6: 6  Curso de POO en Java - clases y objetos

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

Page 7: 6  Curso de POO en Java - clases y objetos

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

Page 8: 6  Curso de POO en Java - clases y objetos

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

Page 9: 6  Curso de POO en Java - clases y objetos

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

Page 10: 6  Curso de POO en Java - clases y objetos

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’

Page 11: 6  Curso de POO en Java - clases y objetos

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

Page 12: 6  Curso de POO en Java - clases y objetos

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

Page 13: 6  Curso de POO en Java - clases y objetos

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

Page 14: 6  Curso de POO en Java - clases y objetos

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

Page 15: 6  Curso de POO en Java - clases y objetos

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

Page 16: 6  Curso de POO en Java - clases y objetos

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)

Page 17: 6  Curso de POO en Java - clases y objetos

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.