{"id":"ocp-evolved-from-inheritance-to-abstraction","text":"OCP underwent a reinterpretation from Meyer's 1988 inheritance-based version (extend by subclassing concrete implementations) to the polymorphic version (1990s, associated with Robert C. Martin), which uses abstract base classes and interfaces and became the dominant modern understanding.","truth_value":"IN","source":"","source_url":"","source_hash":"","justifications":[{"type":"SL","antecedents":["ocp-coined-by-meyer-1988","ocp-meyer-vs-polymorphic-interpretation","ocp-polymorphic-version-is-dominant-modern-interpretation"],"outlist":[],"label":"OCP's evolution from concrete inheritance to abstract polymorphism parallels and foreshadows the GoF's composition-over-inheritance principle"}],"dependents":["ocp-evolution-validates-composition-shift"],"metadata":{"source_type":"derived","review_result":"unnecessary","repair_action":"softened"},"created_at":"2026-06-17T18:00:51+00:00","updated_at":"2026-06-18T06:15:08+00:00","reviewed_at":"2026-06-18T06:15:08+00:00","verified_at":"","retracted_at":"","explanation":{"steps":[{"node":"ocp-evolved-from-inheritance-to-abstraction","truth_value":"IN","reason":"SL justification valid","antecedents":["ocp-coined-by-meyer-1988","ocp-meyer-vs-polymorphic-interpretation","ocp-polymorphic-version-is-dominant-modern-interpretation"],"label":"OCP's evolution from concrete inheritance to abstract polymorphism parallels and foreshadows the GoF's composition-over-inheritance principle"},{"node":"ocp-coined-by-meyer-1988","truth_value":"IN","reason":"premise"},{"node":"ocp-meyer-vs-polymorphic-interpretation","truth_value":"IN","reason":"premise"},{"node":"ocp-polymorphic-version-is-dominant-modern-interpretation","truth_value":"IN","reason":"premise"}]}}