programmazione orientata agli oggetti è paradigma di programmazione dominante di oggi. Quasi tutte le lingue principali supportano qualche forma di orientamento agli oggetti . Ereditarietà multipla descrive la capacità di una classe di ereditare comportamenti da più di una classe o di super- tipo . L'ereditarietà multipla è noto per provocare problemi di manutenzione per i programmatori , anche se ha un paio di vantaggi . Sono state adottate misure per sviluppare alternative che permettono ai programmatori di sfruttare i vantaggi senza gli svantaggi associati . Object-Oriented Programming
Programmazione orientata agli oggetti ( OOP ) è il paradigma di programmazione dominante nello spazio di programmazione aziendale . Invece di visualizzare la programmazione come consegnare un computer una lista di istruzioni da eseguire , Object Oriented programmatori costruiscono oggetti discreti in memoria e poi orchestrare questi oggetti per la produzione di software di lavoro . L'approccio orientato agli oggetti , se ben eseguito , produce software modulare , facile da testare .
Classi ed ereditarietà
Corsi
sono una parte fondamentale della programmazione orientata agli oggetti . Classi agiscono come una "fabbrica" per altri oggetti , creano altri oggetti. Programmatori OOP passano la maggior parte del loro tempo a definire le classi che mostrano i vari comportamenti di cui hanno bisogno per scrivere software . Le classi possono ereditare da altre classi , o copiare il loro comportamento . Le classi che ereditano da un'altra classe sono detto di essere una sotto- classe di quella classe . Lingue più OO sono ereditarietà singola , classi possono ereditare solo da una classe . Ereditarietà multipla permette classi di ereditare da più di un altra classe .
Ereditarietà multipla
ereditarietà multipla non è molto diffusa . E ' in grado di produrre un software che è difficile lavorare con le classi e si apre fino a tutti i tipi di problemi . Per esempio, un programmatore potrebbe " sottoclasse " due classi diverse con comportamenti contrastanti . Ciò potrebbe causare enormi mal di testa di debug . D'altra parte , da un punto di vista gerarchie - di - tipo , un oggetto può appartenere a più di un tipo . Per esempio, una libellula potrebbe appartenere a entrambi classe " insetto" e classe " pilotabili ". L'ereditarietà multipla è conveniente dal punto di vista " tipi " .
Alternative al Ereditarietà multipla
Ci sono stati tentativi di sviluppare alternative alla ereditarietà multipla in grado di risolvere alcuni dei problemi associati con il concetto , pur consentendo ai programmatori di sfruttare alcuni dei vantaggi . Uno degli approcci più promettenti è "mix -in ", che permettono ai programmatori di definire classi speciali che possono essere mescolati in altre classi . Se queste classi definiscono un comportamento conflittuale , il comportamento che appartiene a una classe reale sostituisce il mix -in comportamento.