8. Responsabilidades de una Clase
8.1. Tipos de Método
Los métodos en una clase se clasifican en tres tipos, según la operación que realicen:
- Métodos constructores: tienen la responsabilidad de inicializar los valores de los atributos de un objeto durante su proceso de creación.
- Métodos modificadores: tienen la responsabilidad de cambiar el estado de los objetos de la clase. Son los responsables de "hacer".
- Métodos analizadores: tienen la responsabilidad de calcular información a partir del estado de los objetos de la clase. Son los responsables de "saber".
8.2. ¿Cómo Identificar las Responsabilidades?
En esta parte sólo veremos algunas guías intuitivas respecto de cómo identificar las responsabilidades de una clase. Utilizamos dos estrategias complementarias que se pueden utilizar en cualquier orden y que se resumen a continuación:
Una clase es responsable de administrar la información que hay en sus atributos. Por esta razón se debe tratar de buscar el conjunto de servicios que reflejen las operaciones típicas del elemento del mundo que la clase representa.
Una clase es responsable de ayudar a sus vecinos del modelo del mundo y colaborar con ellos en la solución de sus problemas. En este caso la pregunta que nos debemos hacer es, ¿qué servicios necesitan las demás clases que les preste la clase que estamos diseñando? A partir de la respuesta a esta pregunta, iremos agregando servicios hasta que el problema global tenga solución.
Para las dos estrategias es conveniente hacer el recorrido por tipo de método, diseñando primero los constructores, luego los modificadores y, finalmente, los analizadores. En el nivel 4 de este libro retomaremos este problema de asignar responsabilidades a las clases.
Una vez que se han definido los servicios que va a prestar una clase, debemos definir los parámetros y el tipo de retorno. Para definir los parámetros de un método, debemos preguntarnos cuál es la información externa a la clase que se necesita para poder prestar el servicio. Para definir el tipo de retorno debemos preguntarnos qué información está esperando aquél que solicitó el servicio.
Tarea 7
Objetivo: Identificar y describir los métodos que representan las principales responsabilidades de una clase.
Para el caso de estudio que se presenta a continuación construya el diagrama de clases e identifique los principales métodos.
Una empresa de transporte tiene 3 camiones para llevar carga de una ciudad a otra del país. De cada camión se tiene su matrícula (6 caracteres), su capacidad (en kilogramos) y el consumo de gasolina por kilómetro (un valor real en litros/kilómetro) y la carga actual (en kilogramos). Se quiere construir un programa que permita optimizar el uso de los camiones. Para esto debe tener una única opción que determina cuál es el mejor camión para transportar una cierta carga entre dos ciudades. El mejor camión es aquél que, siendo capaz de transportar la carga, consume la mínima cantidad de gasolina.
Nombre | |
Resumen | |
Entradas | |
Resultado |
Diagrama de clases:
Clase EmpresaTransporte
Nombre del método:
Tipo de método | |
---|---|
Responsabilidad | |
Parámetros | |
Retorno |
Nombre del método:
Tipo de método | |
---|---|
Responsabilidad | |
Parámetros | |
Retorno |
Nombre del método:
Tipo de método | |
---|---|
Responsabilidad | |
Parámetros | |
Retorno |
Nombre del método:
Tipo de método | |
---|---|
Responsabilidad | |
Parámetros | |
Retorno |
Clase Camion
Nombre del método:
Tipo de método | |
---|---|
Responsabilidad | |
Parámetros | |
Retorno |
Nombre del método:
Tipo de método | |
---|---|
Responsabilidad | |
Parámetros | |
Retorno |
Nombre del método:
Tipo de método | |
---|---|
Responsabilidad | |
Parámetros | |
Retorno |
Nombre del método:
Tipo de método | |
---|---|
Responsabilidad | |
Parámetros | |
Retorno |