Objektorienterad programmering är dagens dominerande programmering paradigm . Nästan alla vanliga språk stöder någon form av objektorientering . Multipelt arv beskriver möjligheten för en klass att ärva beteende från mer än en klass eller super - typ . Multipelt arv är ökända för att orsaka underhållsproblem för programmerare , även om det har några fördelar . Åtgärder har vidtagits för att utveckla alternativ som gör att programmerare att skörda frukterna utan tillhörande nackdelar . Objektorienterad programmering
Objektorienterad programmering ( OOP ) är den dominerande programmering paradigm i företag programmering utrymmet . Istället för att se program som lämnar en dator en lista med instruktioner för att utföra , objektorienterad programmerare bygga upp separata objekt i minnet och sedan iscensätta dessa objekt för att producera fungerande programvara . Den objektorienterat synsätt , när välgjord , producerar modulär programvara som är lätt att testa .
Klasser och arv
Klasser
är en grundläggande del av objektorienterad programmering . Klasser fungera som en " fabrik " för andra objekt , de skapar andra objekt . OOP programmerare tillbringar merparten av sin tid som definierar klasser som uppvisar olika beteenden som de behöver för att skriva program . Klasser kan ärva från andra klasser , eller kopiera deras beteende . Klasser som ärver från en annan klass sägs vara en underklass av denna klass . De flesta OO språk är singel - arv får klasser ärver endast från en klass . Multipelt arv tillåter klasser att ärva från mer än en annan klass .
Multipelt arv
multipelt arv är inte särskilt utbredd . Det kan producera programvara som är svår att arbeta med och öppnar klasser upp till alla typer av problem . Till exempel , en programmerare kunde " sub - klass " två olika klasser med motstridiga beteende . Detta kan orsaka enorma felsökning huvudvärk . Å andra sidan , från en hierarkier -of- typ synvinkel kan ett objekt hör till mer än en typ . Till exempel kan en trollslända tillhör både klass " insekt " och klass " flyable . " Multipelt arv är bekvämt från en " typ " synpunkt .
Alternativ till multipelt arv
p Det har gjorts försök att utveckla alternativ till multipelt arv som löser en del av de tillhörande frågorna med begreppet , samtidigt möjligt för programmerare att skörda några av fördelarna . En av de mest lovande metoderna är " mix - ins " som tillåter programmerare att definiera särskilda klasser som kan blandas in i andra klasser . Om dessa klasser definierar motstridiga beteende , ersätter det beteende som hör till en verklig klass mix - beteende .