Casa » Ereditarietà (programmazione OOP)

Ereditarietà (programmazione OOP)

1967
  • Kristen Nygaard
  • Ole-Johan Dahl
Programmer coding inheritance in object-oriented programming at a modern office.

L'ereditarietà è un meccanismo della programmazione orientata agli oggetti in cui una nuova classe (sottoclasse o classe derivata) si basa su una classe esistente (superclasse o classe base), ereditandone attributi e metodi. Questo supporta la riutilizzabilità del codice e stabilisce una gerarchia naturale tra le classi. La sottoclasse può estendere o sovrascrivere il comportamento ereditato, consentendo implementazioni più specifiche pur mantenendo un'interfaccia comune.

Inheritance facilitates an “is-a” relationship between classes. For example, a ‘Dog’ is a type of ‘Animal’. In this scenario, ‘Animal’ would be the superclass, containing general attributes and methods like ‘age’ and ‘eat()’. The ‘Dog’ class would be the subclass, inheriting these properties and adding its own specific ones, like ‘breed’ and ‘bark()’. This avoids code duplication, as the common logic is defined once in the superclass and reused by all its subclasses. Changes made to the superclass are automatically propagated to all subclasses, simplifying maintenance.

There are different types of inheritance, including single inheritance (a class inherits from only one superclass), multiple inheritance (a class inherits from more than one superclass), and multilevel inheritance (a class inherits from another class which itself is a subclass). While powerful, inheritance can also introduce complexity and tight coupling between superclasses and subclasses. Overuse can lead to deep and convoluted hierarchies that are difficult to understand and maintain. Modern design often favors composition over inheritance, where an object contains an instance of another object to achieve code reuse, representing a “has-a” relationship.

UNESCO Nomenclature: 1203
- Informatica

Tipo

Sistema astratto

Interruzione

Substancial

Utilizzo

Uso diffuso

Precursori

  • il concetto di classificazione gerarchica in biologia e filosofia
  • strutture dati che potrebbero contenere altre strutture dati
  • the need for code reuse in large software sistemi
  • la progettazione del linguaggio simula, che ha introdotto classi ed ereditarietà

Applicazioni

  • gui widget toolkits (e.g., a ‘button’ class inheriting from a ‘control’ class)
  • framework per lo sviluppo web (ad esempio, classi controller che ereditano da un controller di base)
  • game development (e.g., ‘orc’ and ‘elf’ classes inheriting from a ‘character’ class)
  • modellazione delle classificazioni biologiche
  • creazione di tipi di eccezione specializzati nei linguaggi di programmazione

Brevetti:

NA

Potenziali idee innovative

Livelli! Iscrizione richiesta

Per accedere a questo contenuto devi essere un membro di !Professionals (100% free)!

Iscriviti ora

Siete già membri? Accedi
Related to: inheritance, subclass, superclass, derived class, base class, code reuse, hierarchy, is-a relationship, polymorphism, overriding.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

DISPONIBILE PER NUOVE SFIDE
Ingegnere meccanico, responsabile di progetto, ingegneria di processo o ricerca e sviluppo
Sviluppo efficace del prodotto

Disponibile per una nuova sfida con breve preavviso.
Contattami su LinkedIn
Integrazione di componenti elettronici in plastica e metallo, progettazione in base ai costi, GMP, ergonomia, dispositivi e materiali di consumo di medio-alto volume, produzione snella, settori regolamentati, CE e FDA, CAD, Solidworks, Lean Sigma Black Belt, ISO 13485 in ambito medico

Stiamo cercando un nuovo sponsor

 

La tua azienda o istituzione si occupa di tecnica, scienza o ricerca?
> inviaci un messaggio <

Ricevi tutti i nuovi articoli
Gratuito, no spam, email non distribuita né rivenduta

oppure puoi ottenere la tua iscrizione completa -gratuitamente- per accedere a tutti i contenuti riservati >Qui<

Contesto storico

(se la data non è nota o non è rilevante, ad esempio "meccanica dei fluidi", viene fornita una stima approssimativa della sua notevole comparsa)

Principi di invenzione, innovazione e tecnica correlati

Torna in alto

Potrebbe anche piacerti