Preguntas etiquetadas con inheritance

La herencia es una forma de reutilizar el código de los objetos existentes, o establecer un subtipo de un objeto existente, o ambos, dependiendo del soporte del lenguaje de programación.


9
Herencia vs Composición para piezas de ajedrez
Una búsqueda rápida de este intercambio de pila muestra que, en general, la composición generalmente se considera más flexible que la herencia, pero como siempre depende del proyecto, etc., y hay ocasiones en que la herencia es la mejor opción. Quiero hacer un juego de ajedrez en 3D donde cada …

2
¿Diseño adecuado para evitar el uso de dynamic_cast?
Después de hacer algunas investigaciones, parece que no puedo encontrar un ejemplo simple para resolver un problema que encuentro a menudo. Digamos que quiero crear una pequeña aplicación donde pueda crear Squares, Circles y otras formas, mostrarlas en una pantalla, modificar sus propiedades después de seleccionarlas y luego calcular todos …


5
¿Cómo sabemos que favorecer la composición sobre la generalización es siempre la elección correcta?
Ya sea que un objeto exista físicamente o no, podemos elegir modelarlo de diferentes maneras. Podríamos usar arbitrariamente generalización o composición en muchos casos. Sin embargo, el principio de GoF de "favorecer la composición sobre la generalización [sic]" nos guía a usar la composición. Entonces, cuando modelamos, por ejemplo, una …





1
Objetos JavaScript y Crockford's The Good Parts
He estado pensando bastante sobre cómo hacer OOP en JS, especialmente cuando se trata de encapsulación y herencia, recientemente. Según Crockford, el clásico es dañino debido a new (), y tanto el prototipo como el clásico están limitados porque su uso de constructor.prototype significa que no puede usar cierres para …

6
Cuando usa la herencia para reutilizar el código, ¿le resulta demasiado complicado que se trague los beneficios de la reutilización?
He estado codificando durante aproximadamente 8 años, sin embargo, todavía encuentro que la herencia es demasiado flexible y, a veces, te confunde totalmente con el código que has escrito. Un ejemplo más simple sería: abstract class AClass { protected void method1() { if(check()) { do1(); } else { do2(); } …



Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.