SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
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.

Más contenido relacionado

La actualidad más candente

Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividadesTerryJoss
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlROQUE Caldas Dominguez
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesbasilioj
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionLuiS YmAY
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosJosé Antonio Sandoval Acosta
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicojosecuartas
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional CristobalFicaV
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 

La actualidad más candente (20)

Diagramas de clases y actividades
Diagramas de clases y actividadesDiagramas de clases y actividades
Diagramas de clases y actividades
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Ejercicios uml
Ejercicios umlEjercicios uml
Ejercicios uml
 
Diagramas De Caso De Uso
Diagramas De Caso De UsoDiagramas De Caso De Uso
Diagramas De Caso De Uso
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Estructura de registros
Estructura de registrosEstructura de registros
Estructura de registros
 
Conexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysqlConexión desde una aplicación en java a un bd en mysql
Conexión desde una aplicación en java a un bd en mysql
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
Transformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logicoTransformar modelo entidad relacion a modelo logico
Transformar modelo entidad relacion a modelo logico
 
Requerimiento funcional y no funcional
Requerimiento funcional y no funcional Requerimiento funcional y no funcional
Requerimiento funcional y no funcional
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 

Similar a 6 Curso de POO en Java - clases y objetos

Modelos De Datos (Segunda Parte)
Modelos De Datos (Segunda Parte)Modelos De Datos (Segunda Parte)
Modelos De Datos (Segunda Parte)esacre
 
Modelos De Datos (Segunda Parte)
Modelos De Datos (Segunda Parte)Modelos De Datos (Segunda Parte)
Modelos De Datos (Segunda Parte)esacre
 
Introduccion a los Modelos De Datos
Introduccion a los Modelos De DatosIntroduccion a los Modelos De Datos
Introduccion a los Modelos De Datosesacre
 
Introducción a los Modelos De Datos
Introducción a los Modelos De DatosIntroducción a los Modelos De Datos
Introducción a los Modelos De Datosesacre
 
Introducción a los Modelos De Datos
Introducción a los Modelos De DatosIntroducción a los Modelos De Datos
Introducción a los Modelos De Datosesacre
 
El Modelo Er
El Modelo ErEl Modelo Er
El Modelo Ernera24mx
 
tema-8-bd-entidad-relacion base de datos
tema-8-bd-entidad-relacion base de datostema-8-bd-entidad-relacion base de datos
tema-8-bd-entidad-relacion base de datosBereGarita
 
12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A Objetos12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A ObjetosJulio Pari
 
1 2 5 Modelando Clases
1 2 5 Modelando Clases1 2 5 Modelando Clases
1 2 5 Modelando ClasesUVM
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad RelaciónDamelys Bracho
 
El modelo entidad_relacion
El modelo entidad_relacionEl modelo entidad_relacion
El modelo entidad_relacionLuis Lucho
 
Elementos de programas
Elementos de programasElementos de programas
Elementos de programasprofecona169
 
TEMA_2_EL_MODELO_ENTIDAD_RELACION.ppt
TEMA_2_EL_MODELO_ENTIDAD_RELACION.pptTEMA_2_EL_MODELO_ENTIDAD_RELACION.ppt
TEMA_2_EL_MODELO_ENTIDAD_RELACION.pptAbigailLiendolopez1
 
TEMA 2 EL MODELO ENTIDAD RELACION.ppt
TEMA 2 EL MODELO ENTIDAD RELACION.pptTEMA 2 EL MODELO ENTIDAD RELACION.ppt
TEMA 2 EL MODELO ENTIDAD RELACION.pptXiomaraVaca
 

Similar a 6 Curso de POO en Java - clases y objetos (20)

Foro 3
Foro 3Foro 3
Foro 3
 
Modelos De Datos (Segunda Parte)
Modelos De Datos (Segunda Parte)Modelos De Datos (Segunda Parte)
Modelos De Datos (Segunda Parte)
 
Modelos De Datos (Segunda Parte)
Modelos De Datos (Segunda Parte)Modelos De Datos (Segunda Parte)
Modelos De Datos (Segunda Parte)
 
Uml Xp 02 Ucc
Uml Xp 02 UccUml Xp 02 Ucc
Uml Xp 02 Ucc
 
Introduccion a los Modelos De Datos
Introduccion a los Modelos De DatosIntroduccion a los Modelos De Datos
Introduccion a los Modelos De Datos
 
Introducción a los Modelos De Datos
Introducción a los Modelos De DatosIntroducción a los Modelos De Datos
Introducción a los Modelos De Datos
 
Introducción a los Modelos De Datos
Introducción a los Modelos De DatosIntroducción a los Modelos De Datos
Introducción a los Modelos De Datos
 
El Modelo Er
El Modelo ErEl Modelo Er
El Modelo Er
 
tema-8-bd-entidad-relacion base de datos
tema-8-bd-entidad-relacion base de datostema-8-bd-entidad-relacion base de datos
tema-8-bd-entidad-relacion base de datos
 
12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A Objetos12 Clase Analisis Orientado A Objetos
12 Clase Analisis Orientado A Objetos
 
1 2 5 Modelando Clases
1 2 5 Modelando Clases1 2 5 Modelando Clases
1 2 5 Modelando Clases
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
Modelo Entidad Relacion.pdf
Modelo Entidad Relacion.pdfModelo Entidad Relacion.pdf
Modelo Entidad Relacion.pdf
 
El modelo entidad_relacion
El modelo entidad_relacionEl modelo entidad_relacion
El modelo entidad_relacion
 
Elementos de programas
Elementos de programasElementos de programas
Elementos de programas
 
Uml Xp 02
Uml Xp 02Uml Xp 02
Uml Xp 02
 
Modelos de datos
Modelos de datosModelos de datos
Modelos de datos
 
TEMA_2_EL_MODELO_ENTIDAD_RELACION.ppt
TEMA_2_EL_MODELO_ENTIDAD_RELACION.pptTEMA_2_EL_MODELO_ENTIDAD_RELACION.ppt
TEMA_2_EL_MODELO_ENTIDAD_RELACION.ppt
 
TEMA 2 EL MODELO ENTIDAD RELACION.ppt
TEMA 2 EL MODELO ENTIDAD RELACION.pptTEMA 2 EL MODELO ENTIDAD RELACION.ppt
TEMA 2 EL MODELO ENTIDAD RELACION.ppt
 
Herramientas CASE
Herramientas CASEHerramientas CASE
Herramientas CASE
 

Más de Clara Patricia Avella Ibañez

11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadoresClara Patricia Avella Ibañez
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetosClara Patricia Avella Ibañez
 
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y procesoClara Patricia Avella Ibañez
 
Taller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de BoyacáTaller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de BoyacáClara Patricia Avella Ibañez
 

Más de Clara Patricia Avella Ibañez (19)

17 arreglos bidimensionales java
17 arreglos bidimensionales java17 arreglos bidimensionales java
17 arreglos bidimensionales java
 
18 Curso POO en java - contenedores
18 Curso POO en java - contenedores18 Curso POO en java - contenedores
18 Curso POO en java - contenedores
 
8a Curso de POO en Java - crear proyecto eclipse
8a Curso de POO en Java - crear proyecto eclipse8a Curso de POO en Java - crear proyecto eclipse
8a Curso de POO en Java - crear proyecto eclipse
 
16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales16 Curso de POO en java - arreglos unidimensionales
16 Curso de POO en java - arreglos unidimensionales
 
15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas
 
14 Curso de POO en java - estructuras condicionales
14 Curso de POO en java - estructuras condicionales14 Curso de POO en java - estructuras condicionales
14 Curso de POO en java - estructuras condicionales
 
13 Curso de POO en java - métodos propios de clase
13 Curso de POO en java - métodos propios de clase13 Curso de POO en java - métodos propios de clase
13 Curso de POO en java - métodos propios de clase
 
12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores10 Curso de POO en java - métodos modificadores y analizadores
10 Curso de POO en java - métodos modificadores y analizadores
 
9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos9 Curso de POO en java - variables, constantes y objetos
9 Curso de POO en java - variables, constantes y objetos
 
5 Curso de POO en java - ejecución eclipse
5 Curso de POO en java - ejecución eclipse5 Curso de POO en java - ejecución eclipse
5 Curso de POO en java - ejecución eclipse
 
4 Curso de POO en java - instalación Eclipse
4 Curso de POO en java - instalación Eclipse4 Curso de POO en java - instalación Eclipse
4 Curso de POO en java - instalación Eclipse
 
2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso2 Curso de POO en java - modelamiento casos de uso
2 Curso de POO en java - modelamiento casos de uso
 
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
1 Curso POO (Programación orientada a objetos) en java - problemas y proceso
 
Prestentacion parapentismoextremo
Prestentacion parapentismoextremoPrestentacion parapentismoextremo
Prestentacion parapentismoextremo
 
Netiqueta
NetiquetaNetiqueta
Netiqueta
 
Modelo pedagógico Universidad de Boyacá
Modelo pedagógico Universidad de BoyacáModelo pedagógico Universidad de Boyacá
Modelo pedagógico Universidad de Boyacá
 
Taller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de BoyacáTaller Evaluación por competencias. Universidad de Boyacá
Taller Evaluación por competencias. Universidad de Boyacá
 

6 Curso de POO en Java - clases y objetos

  • 1. Clases y objetos Clara Patricia 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 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
  • 4. 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.
  • 5. 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…
  • 6. 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
  • 7. 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
  • 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 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’
  • 11. 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
  • 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ó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
  • 15. 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
  • 16. 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)
  • 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.