Clases y objetos
Clara Patricia Avella Ibáñez
Tunja – Boyacá – Colombia
Docente universitaria
cpavella@gmail.com
Clases y objetos
Clase
Concepto: 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
Marca
Referencia
Modelo
Placa
Color
Valor
Características
de la clase
Nombre de
la clase
Marca: Chevrolet
Referencia: Aveo
Modelo: 2012
Placa: CDW152
Color: Rojo
Valor: $20,000,000
Marca: Renault
Referencia: Clio
Modelo: 2010
Placa: DMK789
Color: Verde
Valor: $15,000,000
Objeto 1 Objeto 2
Marca: Ford
Referencia: Fiesta
Modelo: 2013
Placa: AYR548
Color: Azul
Valor:$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úmero
Titular
Tipo
Saldo
Características
de la clase
Nombre de
la clase
Número: 45878
Titular: Sandra Parra
Tipo: Ahorros
Saldo: 500,000
Objeto 1 Objeto 2 Objeto 3
Número: 75369
Titular: Pedro Torres
Tipo: Corriente
Saldo: 1,800,000
Número: 85214
Titular: Luz Gómez
Tipo: Ahorros
Saldo: 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: 85214
Titular: Luz Gómez
Tipo: Ahorros
Saldo: 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 objetos
Estos 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 pertenece
a una persona, así que debe permitir crear la persona, también se debe poder
cambiar el valor del vehículo porque este se va desvalorizando con el tiempo y
finalmente la aplicación debe permitir que se calcule el valor a pagar como
impuesto anual, que corresponde al 2% del valor del vehículo.
Los datos del vehículo son: Marca, referencia, modelo, placa, color, valor
Los 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 Marca
Referencia
Modelo
Placa
Color
Valor
Cadena de caracteres
Cadena de caracteres
Entero
Cadena de caracteres
Cadena de caracteres
Entero
Renault
Clio
2010
DHU457
Rojo
15000000
Persona Doc. de identidad
Nombre
Apellido
Fecha de nacimiento
Género
Cadena de caracteres
Cadena de caracteres
Cadena de caracteres
1026513858
Carlos Andrés
Parra Jiménez
27/01/1984
M
*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 objetos
Los 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”
Caracter
Corresponden a cada uno de los dígitos (0 a 9), letras y símbolos que
conforman las palabras. Se representan en programación con comilla sencilla.
Ejemplos:
‘a’
‘<‘
‘#’
‘5’
Clases y objetos
Los tipos de datos más comunes en programación son:
Entero
Corresponden a valores numéricos positivos o negativos que no tienen
fracción decimal. Ejemplos:
25
0
-152
Real
Corresponden a valores numéricos positivos o negativos que tienen fracción
decimal. Ejemplos:
265.25
-45.7
-0.4778
Lógicos
Son valores que solo pueden tener dos estados: verdadero o falso. Ejemplos:
true
false
Clases y objetos
5. A partir de las entidades identificamos
las clases y sus atributos.
Clase Atributos Tipo de dato Objetos
Vehículo Marca
Referencia
Modelo
Placa
Color
Valor
Cadena de caracteres
Cadena de caracteres
Entero
Cadena de caracteres
Cadena de caracteres
Entero
“Renault”
“Clio”
2010
“DHU457”
“Rojo”
15000000
Persona Doc. de identidad
Nombre
Apellido
Fecha de nacimiento
Género
Cadena de caracteres
Cadena de caracteres
Cadena de caracteres
Cadena de caracteres
Caracter
“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 objetos
Continuando 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 se
utiliza el tipo de dato del lenguaje en el que
se va a desarrollar la aplicación.
En java los tipos básicos de datos son:
Cadena de carácter: String
Caracter: char
Entero: int
Real: double
Ló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.

6 Curso de POO en Java - clases y objetos

  • 1.
    Clases y objetos ClaraPatricia Avella Ibáñez Tunja – Boyacá – Colombia Docente universitaria cpavella@gmail.com
  • 2.
    Clases y objetos Clase Concepto: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
  • 3.
    Clases y objetos ClaseObjetos 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 Marca Referencia Modelo Placa Color Valor Características de la clase Nombre de la clase Marca: Chevrolet Referencia: Aveo Modelo: 2012 Placa: CDW152 Color: Rojo Valor: $20,000,000 Marca: Renault Referencia: Clio Modelo: 2010 Placa: DMK789 Color: Verde Valor: $15,000,000 Objeto 1 Objeto 2 Marca: Ford Referencia: Fiesta Modelo: 2013 Placa: AYR548 Color: Azul Valor:$35,000,000 Objeto 3 Cada objeto tiene valores propios para cada una de las características de la Clase
  • 4.
    Clases y objetos ClaseObjetos de la clase Ahora veamos un ejemplo de objetos conceptuales Cuenta bancaria Número Titular Tipo Saldo Características de la clase Nombre de la clase Número: 45878 Titular: Sandra Parra Tipo: Ahorros Saldo: 500,000 Objeto 1 Objeto 2 Objeto 3 Número: 75369 Titular: Pedro Torres Tipo: Corriente Saldo: 1,800,000 Número: 85214 Titular: Luz Gómez Tipo: Ahorros Saldo: 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.
  • 5.
    Clases y objetos ClaseServicios Las clases no solo tienen características, también tienen servicios, por ejemplo: Cuenta bancaria Número: 85214 Titular: Luz Gómez Tipo: Ahorros Saldo: 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…
  • 6.
    Clases y objetos Recordemos nuestroproceso 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
  • 7.
    Clases y objetos Estosdos pasos del proceso los vamos a ver con un ejemplo: Vamos a construir una aplicación que nos permita crear un vehículo que pertenece a una persona, así que debe permitir crear la persona, también se debe poder cambiar el valor del vehículo porque este se va desvalorizando con el tiempo y finalmente la aplicación debe permitir que se calcule el valor a pagar como impuesto anual, que corresponde al 2% del valor del vehículo. Los datos del vehículo son: Marca, referencia, modelo, placa, color, valor Los 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
  • 8.
    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
  • 9.
    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 Marca Referencia Modelo Placa Color Valor Cadena de caracteres Cadena de caracteres Entero Cadena de caracteres Cadena de caracteres Entero Renault Clio 2010 DHU457 Rojo 15000000 Persona Doc. de identidad Nombre Apellido Fecha de nacimiento Género Cadena de caracteres Cadena de caracteres Cadena de caracteres 1026513858 Carlos Andrés Parra Jiménez 27/01/1984 M *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
  • 10.
    Clases y objetos Lostipos 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” Caracter Corresponden a cada uno de los dígitos (0 a 9), letras y símbolos que conforman las palabras. Se representan en programación con comilla sencilla. Ejemplos: ‘a’ ‘<‘ ‘#’ ‘5’
  • 11.
    Clases y objetos Lostipos de datos más comunes en programación son: Entero Corresponden a valores numéricos positivos o negativos que no tienen fracción decimal. Ejemplos: 25 0 -152 Real Corresponden a valores numéricos positivos o negativos que tienen fracción decimal. Ejemplos: 265.25 -45.7 -0.4778 Lógicos Son valores que solo pueden tener dos estados: verdadero o falso. Ejemplos: true false
  • 12.
    Clases y objetos 5.A partir de las entidades identificamos las clases y sus atributos. Clase Atributos Tipo de dato Objetos Vehículo Marca Referencia Modelo Placa Color Valor Cadena de caracteres Cadena de caracteres Entero Cadena de caracteres Cadena de caracteres Entero “Renault” “Clio” 2010 “DHU457” “Rojo” 15000000 Persona Doc. de identidad Nombre Apellido Fecha de nacimiento Género Cadena de caracteres Cadena de caracteres Cadena de caracteres Cadena de caracteres Caracter “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
  • 13.
    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
  • 14.
    Clases y objetos Relaciónde 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
  • 15.
    Clases y objetos Continuandocon 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 se utiliza el tipo de dato del lenguaje en el que se va a desarrollar la aplicación. En java los tipos básicos de datos son: Cadena de carácter: String Caracter: char Entero: int Real: double Ló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
  • 16.
    Clases y objetos Retomando nuestroproceso 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)
  • 17.
    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.