diseño orientado a objetos

Anuncio
DISEÑO ORIENTADO
A OBJETOS
ALEJANDRA CABRERA
JUAN C. LIBREROS
JORGE A. RAMIREZ
PABLO ALTAMAR
ANDRES F. OÑATE
FABIO MARQUEZ
INTRODUCCION
El diseño orientado a objetos mas
conocido como DOO, transforma el
modelo de análisis creado, usando
análisis orientado a objetos.
un modelo de diseño sirve como
anteproyecto para la construcción de
un software. El trabajo de diseñador
de software puede ser un poco
complicado.
Gamma y sus colegas:
“El diseño de software orientado a objetos
es difícil, y el diseño de software reusable
orientado a objetos es aun más difícil”
“ Se deben identificar los objetos
pertinentes, clasificarlos dentro de las
clases en el grado correcto, definir
interfaces de clases y jerarquías de
herencia y establecer relaciones clave
entre ellos. “
“El diseño debe ser específico al problema
que se tiene entre manos, pero
suficientemente general para adaptarse a
problemas y requerimientos futuros”
Gamma y sus colegas:
“Además se deberá evitar el
rediseño, o por lo menos
minimizarlo. Los diseñadores
experimentados en OO dicen que un
diseño reusable y flexible es difícil, si
no imposible de obtener «bien», la
primera vez. Antes de que un diseño
sea terminado, usualmente tratan de
reutilizarlo varias veces,
modificándolo cada vez.”
La mayoría de los componentes de
los sistemas, están organizados en
subsistemas.
Los datos y operaciones que
manipulan los datos se encapsulan
en objetos.
El DOO debe describir la organización
especifica de los datos, atributo y
detalles de cada operación.
¿Qué es?
El DOO requiere la definición de:
una arquitectura multicapa.
la especificación de subsistemas que
realizan funciones y proveen soporte
de infraestructura.
Una descripción de objetos (clases).
Una descripción de los mecanismos
de comunicación.
¿Quién lo hace?
El DOO lo realiza un ingeniero del
software.
¿Por que es importante?
Es importante porque, establece un
anteproyecto de diseño, el cual hace
que se maximice la reutilización de
este.
¿Cuales son los pasos?
Se divide en dos:
Diseño de sistema: crea un arquitectura del
producto definiendo una serie de capas, que
cumplen funciones, e identifica las clases
encapsuladas.
Diseño de objetos: se centra en los detalles
internos de cada clase, definición de
atributos. Operaciones y detalles de los
mensajes.
¿Cuál es el producto obtenido?
No es mas, que la descripción de la
interfaz de usuario.
Desarrollo de Componentes de
gestión.
DISEÑO PARA SISTEMAS
ORIENTADOS A OBJETOS
Se divide en 4 capas:
– La capa subsistema: contiene una
representación de cada uno de los
subsistemas, para conseguir sus requisitos
definidos por el cliente.
– La capa de clases y objetos: contiene la
jerarquía de clases, que permite al sistema ser
creado usando generalizaciones y con
especificaciones mas acertadas.
– la capa de mensaje: contiene detalles
de diseño, que permite a cada objeto
comunicarse son sus colaboradores.
– La capa de responsabilidades:
contiene estructuras de datos y diseños
algorítmicos, para todos los atributos y
operaciones de cada objeto.
La capa fundamental se centra en el
diseño de los objetos del dominio.
Estos juegan un papel clave, en la
construccion de la infraestructura del
sistema OO aportando soporte para
las actividades, admon de tareas y
gestion de datos.
ENFOQUE CONVENCIONAL VS
OO
Los dos aplican el diseño de datos cuando
los atributos son representados, el diseño
de interfaz cuando se desarrolla un
modelo de mensajeria y diseño a nivel de
componentes. (para operaciones de
diseño).
La arquitectura de diseño de OO tiene que
ver mas con la colaboracion entre objetos
que con el control de flujos de
componentes.
Fichman y Kemerer:
1. representación de la jerarquía de módulos.
2. especificación de las definiciones de datos.
3. especificación de la lógica procedimental.
4. indicación de secuencias de proceso final-a-final
5. representación de estados y transiciones de los
6. definición de clases y jerarquías.
7. asignación de operaciones a las clases.
8. definición detallada de operaciones.
9. especificación de conexiones de mensajes.
10. identificación de servicios exclusivos.
ASPECTOS DEL DISEÑO
1.
2.
3.
4.
5.
Bertrand: sugiere 5 criterios para juzgar
la capacidad de métodos de diseño para
conseguir modularidad y los relaciona al
diseño orientado a objetos:
Descomponibilidad
Componibilidad
Comprensibilidad
Continuidad
Protección
Meyer:
sugiere 5 principios básicos de
diseño, que pueden ser deducidos
para arquitecturas modulares:
1. unidades lingüísticas Modulares
2. pocas interfaces
3. pequeñas interfaces (acoplamiento
débil)
4. interfaces explícitas
5. ocultación de información
el lenguaje de programación que se usará
debe ser capaz de definir directamente la
modularidad.
Los módulos se definen como unidades
lingüísticas modulares, cuando
«corresponden a unidades sintácticas en
el lenguaje usado»
Para lograr el bajo acoplamiento, el
número de interfaces entre módulos debe
minimizarse y la cantidad de información
que se mueve a través de la interfaz
también debe ser minimizada
Siempre que los componentes se comunican,
deben hacerlo de manera obvia y directa.
Por ejemplo:
si el componente X y el componente Y se
comunican mediante el área de datos global (a lo
que se llama acoplamiento) violan el principio de
interfaces explícitas porque la comunicación entre
componentes no es obvia a un observador
externo. Finalmente, se logra el principio de
ocultamiento de información, cuando toda
información acerca de un componente se oculta
al acceso externo, a menos que esa información
sea específicamente definida como pública.
EL PANORAMA DE DOO
El método de Booch: abarca un
«proceso de micro desarrollo» y un
<<proceso de macro desarrollo».
– El macro desarrollo engloba una actividad de
planificación arquitectónica, que agrupa
objetos similares en particiones arquitectónicas
separadas, capas de objetos por nivel de
abstracción, identifica situaciones relevantes,
crea un prototipo de diseño y valida el
prototipo aplicándolo a situaciones de uso.
– El micro desarrollo define un conjunto
de «reglas» que regulan el uso de
operaciones y atributos y las políticas
del dominio específico para la
administración de la memoria, manejo
de errores y otras funciones.
El método de Rumbaugh: La técnica de
modelado de objetos engloba una actividad de
diseño que conduce a dos diferentes niveles de
abstracción. El diseño de sistema se centra en el
esquema de los componentes que se necesitan
para construir un sistema o producto completo.
El modelo de análisis se divide en subsistemas,
los cuales se asignan a procesadores y tareas. Se
define una estrategia para implementar la
administración de datos, y se identifican los
recursos y mecanismos de control requeridos
para accesarlos.
El método de Jacobson. El diseño para ISOO
(Ingeniería del software orientada a objetos) es
una versión simplificada del método propietario
Objectory, también desarrollado por Jacobson.
El modelo de diseño enfatiza la planificación para
el modelo de análisis ISOO. El modelo idealizado
de análisis se adapta para acoplarse al ambiente
del mundo real. Después los objetos de diseño
primarios, llamados bloques’, son creados y
catalogados como bloques de interfaz, bloques de
entidades y bloques de control. La comunicación
entre bloques durante la ejecución se define y los
bloques se organizan en subsistemas.
El método de Coad y Yourdon. se
desarrolló estudiando «cómo es que los
diseñadores orientados a objetos
efectivos» hacen su trabajo. La
aproximación de diseño dirige no sólo la
aplicación, sino también la infraestructura
de la aplicación, y se enfoca en la
representación de cuatro componentes
mayores de sistemas:
– la
– la
– la
– la
componente de dominio del problema
componente de interacción humana
componente de administración de tareas
de administración de datos.
El método de Wirfs-Brock: Wirfs-Brock,
Wilkerson y Weiner definen un conjunto de tareas
técnicas, en la cual el análisis conduce sin duda al
diseño. Los protocolos para cada clase se
construyen refinando contratos entre objetos.
Cada operación (responsabilidad) y protocolo
(diseño de interfaz) se diseña hasta un nivel de
detalle que guiará la implementación. Se
desarrollan las especificaciones para cada clase
(definir responsabilidades privadas y detalles de
operaciones) y cada subsistema (identificar las
clases encapsuladas y la interacción entre
subsistemas).
Para llevar a cabo un diseño orientado
a objetos, un ingeniero de software
debe ejecutar las siguientes etapas
generales:
1. Describir cada subsistema y asignar a
procesadores y tareas.
2.Elegir una estrategia para implementar la
administración de datos, soporte de
interfaz y administración de tareas.
3. Diseñar un mecanismo de control,
para el sistema apropiado.
4. Diseñar objetos creando una
representación procedura para cada
operación, y estructuras de datos
para los atributos de clase.
5. Diseñar mensajes, usando la
colaboración entre objetos y
relaciones.
6. Crear el modelo de mensajería.
7. Revisar el modelo de diseño y
renovarlo cada vez que se requiera.
ALEJANDRA CABRERA….
PROCESO DE DISEÑO DE
SISTEMAS
El diseño de sistema desarrolla el
detalle arquitectónico requerido
para construir un sistema o
producto. El proceso de diseño
del
sistema tiene
algunas
actividades.
ACTIVIDADES
Partición del modelo de análisis en
subsistemas.
Identificar la concurrencia dictada por el
problema.
Asignar subsistemas a procesadores y tareas.
Desarrollar un diseño para la interfaz de
usuario.
Elegir una estrategia básica para implementar
la admón o gestión de datos.
ACTIVIDADES
Identificar recursos globales y
los
mecanismos de control requeridos para su
acceso.
Diseñar un mecanismo
de control
apropiado para el sistema, incluyendo
administración de tareas.
Considerar
como
deben
condiciones de frontera.
manejarse
las
Particionar el Modelo de
Análisis
Uno de los principios fundamentales del
Análisis es hacer particiones. El diseño de
Sistemas OO particiona el modelo de
Análisis ,
para
definir
colecciones
Congruentes de clases, relaciones y
Comportamiento. Estos elementos de diseño
Se definen como subsistemas.
Particionar el Modelo de
Análisis
Todos los elementos de un subsistema
comparten alguna propiedad en común y se
integran para completar la misma función,
deben administrar la misma clase de
recursos. Los subsistemas se caracterizan
por sus responsabilidades, es decir un
Subsistema puede identificarse por sus
servicios.
Particionar el Modelo de
Análisis
Cuando se diseñan los subsistemas , se
Deben seguir algunos criterios de diseño:
El subsistema debe tener una interfaz bien
definida, a través de la cual se reduzcan
todas las comunicaciones con el resto del
sistema.
El número de subsistemas debe ser bajo.
Un subsistema puede ser particionado
Internamente para ayudar a reducir
la complejidad.
Particionar el Modelo de
Análisis
Cuando dos subsistemas se comunican entre
si, pueden establecer un enlace cliente servidor o un enlace punto-punto.
en un enlace cliente-servidor, cada uno de
los subsistemas asume uno de los papeles.
el servicio fluye del servidor al cliente en
una Sola dirección. En un enlace puntopunto los Servicios pueden fluir en cualquier
dirección.
Particionar el Modelo de
Análisis
Cuando un sistema es particionado en
subsistemas, se lleva a cabo otra actividad
de diseño llamada estratificación de capaz,
contiene uno o más subsistemas.
Ejemplo: una arquitectura de 4 capas debe
Incluir lo siguiente:
Una capa de presentación, que es el
subsistema asociado con la interfaz de U.
Particionar el Modelo de
Análisis
Una capa de aplicación, que es el
subsistema que lleva a cabo procesos
asociados con la aplicación.
Una capa de formato de datos, son los
subsistemas que preparan los datos para ser
procesados.
una capa de base de datos, es el
subsistema asociado con la admón de los datos.
Particionar el Modelo de
Análisis
Buschman y sus colegas sugieren el sgte
Enfoque para estratificación por capaz:
1. Establecer los criterios de estratificación por
capaz, esto significa como se agruparan
los subsistemas.
2. Determinar el número de capaz ya que
muchas de ellas pueden complicar
innecesariamente el diseño.
3. Nombrar las capaz y asignar subsistemas
Particionar el Modelo de
Análisis
4. Diseñar interfaces para cada capa.
5. Definir el modelo de mensajeria
para la comunicación entre capaz.
6. Revisar el diseño de capaz.
Asignación de
Concurrencia y
Subsistemas
El aspecto dinámico del modelo objeto –
Comportamiento provee una indicación de
Concurrencia entre clases. Si la clases o
Subsistemas no se activan al mismo tiempo,
No hay necesidad para el procesamiento
Concurrente, esto significa que las clases
Pueden ser implementadas en el mismo
Procesador de hardware.
Asignación de
Concurrencia y
Subsistemas
Cuando los subsistemas son concurrentes,
Existen dos opciones de alojamiento:
Alojar cada subsistema en procesadores
independientes.
O alojar los subsistemas en el mismo
procesador y proporcionar soporte de
concurrencia sobre las características del
sistema operativo.
Asignación de
Concurrencia y
Subsistemas
Las
tareas concurrentes se
definen
examinado el diagrama de estado para cada
objeto. Para determinar cual de las opciones
de asignación de procesadores es apropiada
El diseñador debe considerar los requisitos
De desempeño, costos y el encabezado
Impuesto por la comunicación entre
Procesadores.
Componentes de Admón
de Tareas
Coad y Yourdon, sugirieron la siguiente
Estrategia, para el diseño de objetos que
Manipulan tareas concurrentes:
Se determinan las características de la tarea.
Se define un coordinador de tarea y objetos
asociados.
Se integran el coordinador y las otras tareas.
Componentes de admón. de
Tareas
Se debe determinar la prioridad y criticidad
de la tarea. Las tareas de alta prioridad
deben tener acceso inmediato a los recursos
del sistema, las tareas de alta criticidad
deben continuar operando aun cuando la
disponibilidad de un recurso es reducida.
Componentes de admón. de
Tareas
Una vez que las características de la tarea
Se han determinado se definen los atributos
Y operaciones del objeto requerido, para
Alcanzar coordinación y comunicación con
Otras tareas.
Componentes de admón. de
Tareas
Plantilla básica de una tarea
Nombre de la tarea: el nombre del objeto.
descripción: un relato que describe el
Propósito del objeto.
Prioridad: de la tarea (alta, media, baja)
Servicios: lista de operaciones que son
Responsabilidad del objeto.
Coordinados por: la manera como se invoca
El comportamiento del objeto.
Comunicados: datos de E/S de la tarea.
JORGE A RAMIREZ
Proceso de Diseño de Objetos
En este proceso vamos a desarrollar
el diseño detallado de los objetos y
sus interacciones con el sistema. En
este de desarrollan particularmente
los atributos, como funcionan y como
los objetos se enlazan con los
demás.
En esta fase las estructuras de datos
y los algoritmos
Descripción de Objetos.
La descripción del diseño puede
tomar una o dos formas:
Descripción del protocolo:
Se diseña la interfaz del
objeto, definiendo mensajes
que puede recibir y las
operaciones que puede
realizar al momento de
recibir un mensaje.
Descripción de implementación:
Muestra los detalles de
implementación para cada
operación implicada en el
mensaje pasado a un objeto
Esto incluye la parte
privada, detalles internos de
un objeto.
Descripción de Protocolo.
Es un conjunto de mensajes y un
comentario, para cada uno de los
mensajes.
Para sistemas demasiado grandes los
mensajes deben de ser
categorizados siempre y cuando
cumplan la misma función.
Descripción de Implementación.
En este proceso suministramos
detalles internos para la
implementación de los objetos.
El diseñador debre crear los detalles
internos del objeto, pero otro
diseñador no lo necesita por ende
solo utiliza la descripción de
protocolo.
Descripción de Implementación.
Requiere la siguiente información:
Primero
Especificación
del nombre
del objeto y
referencia de
la clase
Segundo
Especificación
de las
estructuras de
datos y los
tipos de
datos.
Tercero
Descripción de
procedimiento
de cada
operación que
posea el
objeto.
Diseño de Algoritmos y ED
El diseño de algoritmos y estructuras
de datos deben ser diseñados
utilizando un enfoque ya sea el de la
ingeniería de software convencional
o la OO. En este caso trataremos el
enfoque orientado a objetos para
definir dichas estructuras y
algoritmos.
Diseño de Algoritmos y ED
Para cada operación debe
desarrollarse un algoritmo, este
desarrollo debe de ir en una
secuencia que puede ser
computacional o procedural y puede
ser implementada como modulo de
software.
Las ED se desarrollan al mismo
tiempo que los algoritmos.
Diseño de Algoritmos y ED
Ya que las operaciones manipulan
todos los atributos de una clase.
Las operaciones se pueden dividir en
tres categorías:
Operaciones que
manipulen datos,
es decir,
agregando,
eliminando, etc.
Las operaciones
que ejecutan
cálculos.
Operaciones que
supervisan y
controlan el
comportamiento
de un objeto.
Patrones de Diseño.
Son la base para la búsqueda de
soluciones a problemas comunes del
desarrollo de software.
Los patrones de diseño proporcionan
elementos reusables para el diseño
de sistemas de.
Estos patrones no deben ser
utilizados siempre.
Patrones de Diseño.
Estos deben ser utilizados solo si
poseemos el mismo problema o
similar que el patrón pueda
solucionar.
Los patrones de diseño nos expresan
esquemas para definir diseños con la
cual construir un sistema.
Patrones de Diseño.
Gamma y sus colegas dicen que este
patrón vuelve el DOO mas flexible,
elegante y en especial reutilizable.
La persona encargada del diseño
debe estar en la capacidad de
observar cada oportunidad donde
pueda reutilizar y crear el patrón de
diseño.
Modelos de clases
Es una descripción de las
clases en un sistema y sus
relaciones; no describe el
comportamiento dinámico
del sistema , como por el
ejemplo el
comportamiento de
objetos individuales .
PABLO ALTAMAR
Generalizacion
Esta relación es la que se
mantiene entre la clase X y
la clase Y, donde la clase Y
es el ejemplo mas
especifico
Agregracion en UML
Diagrama en UML
Agregación
En esta la línea con un rombo hueco indica que la
clase describe objetos que agregan otros objetos,
la clase con el rombo unido a ella describe
objetos, que contiene objetos definidos por la
otra clase.
Composición
Es una forma especial de agregación,
esta se usa cuando se tiene en la que un objeto
contiene un numero de otros objetos y cuando el
objeto contenedor se elimina todas las instancias
de los objetos que están contenidos desaparecen
.
Asociaciones
Una relación ocurre entre dos clases
cuando existe alguna relación entre
ellas.
Ejemplo de relación simple
Relación de 1 a 1..*
Casos de uso
EN UML, un caso de uso se
documenta de manera muy simple
en termino de actores y de un caso
de uso, un actor puede ser cualquier
agente que interactue con el sistema
y un caso de uso cualquier accion
que este realize
Documentando roles
Caso de uso simple
Colaboraciones
Durante la ejecucion de un sistema
orientado a objetos, los objetos
interactuan con cada uno de los de
los otros , por ejemplo si un sistema
bancario , hay un objeto cuenta
puede enviar un mensaje a un objeto
transaccion , para crear una
transaccion que ha ocurrido en una
cuenta, toda esta informacion es
Importante para el diseñador de un
sistema orientado a objetos durante
el proceso de validación e
identifacion de las clases.
FABIO MARQUEZ
CASO DE
ESTUDIO
CASO DE ESTUDIO
Un caso de estudio es un método
particular de investigación
cualitativa.
Se usa en grandes muestras,
siguiendo un rígido protocolo para
examinar un número limitado de
variables. Los casos de estudio
envuelven una profundización y
examen longitudinal de una sencilla
instancia o evento.
CASO DE ESTUDIO
Consiste en una forma sistemática de
observar los eventos, coleccionando
datos, analizando información y
reportando resultados.
Los casos de estudio son una
herramienta de relaciones públicas
que consiste en ejemplos reales en
los que se presenta una historia
positiva sobre los beneficios que un
producto o servicio le han significado
a unos determinados usuarios.
EJEMPLO
Libros –en-linea, es una compañía
creada recientemente, que es
subsidiaria de otra compañía
multinacional de comercio, conocida
como POLLDAY PUBLISHING. Los
directores de POLLDAY PUBLISHING
se decidieron a llevar un gran
crecimiento en ventas por internet
entre sus clientes y decidieron
preparar a libros –en- linea para ello.
CASOS DE ESTUDIO
EL concepto que POLLDAY tiene es
el de un sitio web de comercio
electrónico, que tenga catalogo de
cada libro que manejan.
REQUISITOS LIBROS-ENLINEA
1. CAPACIDAD VENTAS EN LINEA
Permitir al cliente examinar los
detalles del libro.
Ordenarlo y que el cliente registre su
Email para recibir notificaciones.
REQUISITOS
2. CUANDO EL CLIENTE INGRESE
Despliegue de cada uno de los
recursos mencionados
REQUISITOS
3. CUANDO EL CLIENTE
REGISTRE SU CORREO.
Pregunta su información personal:
Nombre
Dirección Correo
Dirección Postal
Administrador de contactos será
responsable de enviar las ofertas
REQUISITOS
4. EL CLIENTE PODRA COMPRAR
LIBROS DE CATALOGO EN LINEA.
El cliente podra examinar paginas
con detalles de los libros
Podra seleccionar el libro, ya sea
mediante un mecanismo ya sea al
presionar un boton.
REQUISITOS
El sistema deberá mantener un
carrito de compras virtual, en el que
los detalles de cada libro se
almacenan, conforme se llena el
carro se muestra el precio
acumulado de la compra.
REQUISITOS
5. CUANDO EL CLIENTE TERMINE
DE COMPRAR EN EL SITIO WEB.
Se le pedirá información acerca de
que forma de envió prefiere
Por omision se mostrara la opcion de
envio por correo estandar
REQUISITOS
6. EL SITIO WEB DEBE
INTERACTUAR CON UN SISTEMA
DE CONTROL DE INVENTARIO.
Control de inventario, deberá
manejar el proceso de recepción de
libros de los inventarios de las
editoriales.
Además deberá registrar el retiro de
libros por parte de los clientes
Pre ordenar Existencias del libro.
REQUISITOS
7.CONTROL DE INVENTARIOS
POR PARTE DE UN
ADMINISTRADOR.
El o ella tendrán la responsabilidad
de mantener las ventas, y la
disponibilidad de existencias.
Cuando la existencia de un libro se
encuentra baja, hace un nuevo
pedido.
IDENTIFICACION DE CLASES
Registro Cliente
Libro
Orden
Línea de Orden
Carrito
Orden Espera
Almacén
Registros Existencias
Nota Empaque
Tarjeta Crédito
IDENTIFICACION DE
ACTORES
Cliente
Administrador Marketing
Administrador Control Inventarios
Registro
Ordenar
Realizar
CASO DE USO PARA ACTOR
CLIENTE
DIAGRAMA DE CLASES PARA
EL CASO ESTUDIO
RELACIONES DIAGRAMA DE
CLASES
Almacén asocia con registro stock, el
cual checa los libros almacenados en
el almacén.
Un registro de existencia se asocia
con un solo libro y viceversa.
Una orden puede consistir en un
número de líneas de orden, y una
línea de orden será asociada con una
sola orden
Un cliente registrara su número de
tarjeta de crédito al sistema, un
número de tarjeta de crédito se asocia
con un solo cliente.
Un cliente se asocia con un número de
ordenes satisfechos, las cuales se
realizan sobre un periodo de tiempo.
Cada orden satisfecha se asocia con un
solo cliente.
Un cliente se asocia con un número de
ordenes en espera, que actualmente no
pueden ser satisfechos. Cada orden
ene spera se asocia con un solo cliente.
ANDRES FELIPE OÑATE “El PIPE”
Diseño orientado objeto
La etapa final de desarrollo, dentro del
ciclo de vida orientada a objetos, es la
programación.
la programación es analizada como
importante
pero
como
actividad
subsidiaria al análisis y diseño
El proceso de programación involucra
la conversión de un diseño orientado a
objetos en un código de programa.
Efectivamente, esto significa que las
clases definidas en el diseño deben ser
convertidas en clases expresadas en
un lenguaje de programación orientado
a objetos como Java, C++ o SmallTalk
ejemplo del código esqueleto
de una clase se muestra a
continuación.
Class Cliente {
Private String NombreCliente;
Private String DireccionCliente;
// Se definen más atributos aquí
Public String obtenerNombreCliente/)
//código para obtenerNombreCliente
Public void modificarDireccionCliente (String
Direccion j
//código para modificarDireccionCliente
//código para las operaciones restantes
Class Contador í
Private int veces;
Public Contador (int valorInicio)
Public void ajustaContadorI int valor)
Public int obtenercuenta ( )
í Public void incrementacuenta
Veces = valorInicio;
Veces = valor;
Return veces;
Veces t ;
Existen dos maneras de
combinar clases: la primera es
la herencia y la segunda es la
agregación. Los lenguajes de
programación
orientada
a
objetos contienen recursos que
permiten
a
ambas
ser
implementadas fácilmente.
Recuérdese que, en la
herencia, las operaciones en la
superclase se heredan por la
superclase
Class TiempoContador extends Contador {
Time horaAcceso;
Public TiempoContador (int valorInicio)
Super (valorInicio);
HoraAcceso = new Time horaAcceso ( );
Public void ajustaContadori int valor)
isuper.ajustaContador (int valor);
horaAcceso.setNow ( );
Public Time obtenHora ( )
Public void incrernentacuenta ( )
Super. Incrementacuenta í);
horaAcceso.setNow ( );
Return horaAcceso;
Esto es, como un lenguaje de
programación
orientado
a
objetos implementa la herencia.
La implementación de la
agregación es más simple: todo
lo que involucra es la inclusión
de las partes agregadas como
atributos de clase. Por ejemplo,
la clase siguiente :
Class Computer {
Private Monitor Mon;
Private KeyBoard kb;
Private Processor proc;
// Demás atributos
//definición de las operaciones
asociadas con la
computadora.//
Descargar