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.

4
¿Herencia vs mixins en lenguajes dinámicos?
¿Cuándo debería preferir patrones de herencia sobre mixins en lenguajes dinámicos? Por mixins, me refiero a una verdadera mezcla, como al insertar funciones y miembros de datos en un objeto en tiempo de ejecución. ¿Cuándo usaría, por ejemplo, la herencia de prototipos en lugar de mixins? Para ilustrar más claramente …

1
¿Por qué (/ hizo) Bertrand Meyer piensa que la subclase es la única forma de extender un módulo "cerrado"?
En Meyer's Object-Oriented Software Construction (1988) define el principio abierto / cerrado de la siguiente manera: Se dirá que un módulo está abierto si todavía está disponible para la extensión. Por ejemplo, debería ser posible agregar campos a las estructuras de datos que contiene, o nuevos elementos al conjunto de …






1
¿Cómo verificar el principio de sustitución de Liskov en una jerarquía de herencia?
Inspirado por esta respuesta: El principio de sustitución de Liskov requiere que Las condiciones previas no pueden fortalecerse en un subtipo. Las condiciones posteriores no pueden debilitarse en un subtipo. Las invariantes del supertipo deben conservarse en un subtipo. Restricción del historial (la "regla del historial"). Los objetos se consideran …




3
Composición sobre herencia pero
Estoy tratando de enseñarme ingeniería de software y encontrar información contradictoria que me confunde. He estado aprendiendo OOP y qué son las clases / interfaces abstractas y cómo usarlas, pero luego estoy leyendo que uno debería 'favorecer la composición sobre la herencia'. Entiendo que la composición es cuando una clase …

2
¿Por qué la clase base necesita tener un destructor virtual aquí si la clase derivada no asigna memoria dinámica sin procesar?
El siguiente código causa una pérdida de memoria: #include <iostream> #include <memory> #include <vector> using namespace std; class base { void virtual initialize_vector() = 0; }; class derived : public base { private: vector<int> vec; public: derived() { initialize_vector(); } void initialize_vector() { for (int i = 0; i < …

5
Herencia versus propiedad adicional con valor nulo
Para las clases con campos opcionales, ¿es mejor usar herencia o una propiedad anulable? Considere este ejemplo: class Book { private String name; } class BookWithColor extends Book { private String color; } o class Book { private String name; private String color; //when this is null then it is …
12 java  inheritance  class  null 


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.