diagrama de herencia de Java

Quién Insub:

estudiante im, el aprendizaje de la herencia de Java.

Hice un diagrama de clases y que tenía una retroalimentación en la clase que missuses herencia.

(Toma de Programa es “bitcoin minero”)

Hice una clase 'Digger', que describe acerca de máquinas de minería.

E hizo un 'ClockConfigurableDigger' clase que herencias 'digger' clase. Esta clase hace máquina de explotación minera que puede overclock o underclock.

E hizo una clase 'DurablityRecoverDigger' que ClockConfigurableDigger'class herencias. Esta clase puede tanto reloj cambio y recuperar su durablity.

Mi maestro dice que el uso de la herencia de esta manera es erróneo.

Y estoy pensando en la razón (por qué dijo esto está mal) es que tiene clockConfigurablityDigger es, una relación que es, una relación a Digger. Eso clockConfigurablity shoudnt ser una clase hija de la clase Digger. El hecho de que ClockConfigurableDigger tiene una función más de la clase Digger.

¿Crees que mi razón es correcto?

¿O tiene otra opinión de mi diagrama de clases?

¡Gracias por leer!

k.wahome:

Composición y la herencia son ambos potentes orientados a objetos paradigmas de programación en el establecimiento de relaciones entre las clases y objetos.

La herencia es fundamental

La herencia es fundamental para la programación orientada a objetos. Un lenguaje de programación puede tener objetos y mensajes, pero sin la herencia no es orientado a objetos (simplemente “basado en objetos”, pero aún polimórfica).

... y así es Composición

Composición también es fundamental para todos los idiomas. Incluso si el idioma no es compatible con la composición (raro en estos días!), Los humanos siguen pensando en términos de partes y componentes. Sería imposible para descomponer los problemas complejos en soluciones modulares sin composición.

(Declaraciones anteriores son citas de Composición vs Herencia: ¿Cómo elegir? )

¿Cómo se les dice a pedazos?

Mientras tanto tienen el mismo propósito de establecer relaciones entre las clases y objetos (es decir, el polimorfismo, la reutilización, la especialización y extensión), lo hacen de una manera bastante distinta que los ha apartado.

La herencia es la hora de diseñar sus tipos en todo lo que son y composición es cuando el diseño de tipos en torno a lo que hacen.

Este pequeño detalle es muy importante en el diseño orientado a objetos. Es la base para la regla del pulgar, y un principio de diseño orientado a objeto bueno, utilizado en la determinación de cuándo utilizar ya sea paradigmas es decir herencia sigue un IS-A relación mientras que la composición sigue un HAS-A relación.

Acoplamiento

Una distinción Quizás aún más importante de la composición y la herencia es uno a lo largo de las líneas de acoplamiento; el grado de interdependencia. Especialmente en el crisol del principio de responsabilidad individual uno de los principio más fundamental de un buen diseño.

Clases y objetos creados a través de la herencia están estrechamente acopladas , ya que están diseñados alrededor de lo que son por lo tanto el comportamiento se transmite de clases padre / súper / base a los niños clases / subclases, por tanto, clases y objetos se derivan de otros (la relación IS-A).

Por otro lado, los creados mediante la composición están débilmente acoplados , ya que están diseñados en torno a lo que hacen por lo tanto son estructuras lógicamente más grandes que contienen los demás ejecución comportamiento deseado que es mucho más contenida y "aislados".

El acoplamiento es un factor crítico que determina la complejidad de mantenimiento.

Entre ellas, la herencia es mucho más mal utilizado tal vez porque en la cara de ella, la composición parece ser más compleja; en realidad no lo es. El problema Circle-elipse explica las dificultades de usar (en lugar mis-utilizando) polimorfismo de subtipo (herencia) en el modelado de objetos.

Composición sobre la herencia

Hay un principio de programación orientado a objetos que las clases deben lograr un comportamiento polimórfico y la reutilización de código por su composición en lugar de la herencia de una base o clase padre. Esta es la composición sobre la herencia o principio reutilización de material compuesto.

Barbara Liskov principio de sustitución de liskov es una prueba de fuego bastante útil para decidir si se debe utilizar la composición o herencia.

Composición vs Herencia: ¿Cómo elegir? Es un buen material de lectura sobre el tema.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=362962&siteId=1
Recomendado
Clasificación