Video: Skillnaden Mellan Arv Och Komposition
2024 Författare: Mildred Bawerman | [email protected]. Senast ändrad: 2023-12-16 08:42
Arv vs sammansättning
Arv och komposition är två viktiga begrepp som finns i OOP (Object Oriented Programming). Enkelt uttryckt handlar både komposition och arv om att tillhandahålla ytterligare egenskaper eller beteende till en klass. Arv är förmågan för en klass att ärva egenskaper och beteende från en överordnad klass genom att utöka den. Å andra sidan är komposition en klasss förmåga att innehålla objekt av olika klasser som medlemsdata.
Vad är arv?
Som nämnts ovan är arv förmågan för en klass att ärva egenskaper och beteende från en överordnad klass genom att utöka den. Arv ger i huvudsak återanvändning av kod genom att tillåta utökande egenskaper och beteende hos en befintlig klass med en nyligen definierad klass. Om klass A sträcker sig B kallas klass B förälderklassen (eller superklassen) och klass A kallas underklassen (eller härledd klass / underklass). I detta exempelscenario kommer klass A att ärva alla offentliga och skyddade attribut och metoder för superklassen (B). Underklassen kan valfritt åsidosätta (ge ny eller utökad funktionalitet till metoder) beteendet som ärvs från den överordnade klassen.
Arv representerar ett”is-a” -förhållande i OOP. Detta innebär i huvudsak att A också är en B. Med andra ord kan B vara klassen med en allmän beskrivning av en viss verklig världsenhet men A anger en viss specialisering. I ett verkligt världsprogrammeringsproblem kan personklassen utökas till att skapa anställdklassen. Detta kallas specialisering. Men du kan också först skapa klassen för anställda och sedan generalisera den till en personklass (dvs. generalisering). I det här exemplet kommer den anställde att ha alla personens egenskaper och beteende (dvs. att anställd också är en person) och kan innehålla ytterligare funktioner (så att personen inte är anställd) också.
Vad är komposition?
Komposition är förmågan hos en klass att innehålla objekt av olika klasser som medlemsdata. Till exempel kan klass A innehålla ett objekt av klass B som medlem. Här kan alla offentliga metoder (eller funktioner) som definieras i B exekveras inom klass A. Klass A blir behållaren, medan klass B blir den inneslutna klassen. Sammansättning kallas också Containership. I det här exemplet kan man säga att klass A består av klass B. I OOP representerar komposition en”has-a” relation. Det är viktigt att notera att även om behållaren har tillgång till att utföra alla offentliga metoder i den inneslutna klassen, kan den inte ändra eller tillhandahålla ytterligare funktioner. När det gäller ett verkligt programmeringsproblem kan ett objekt av klass TextBox finnas i klassformuläret,och således kan sägas att ett formulär innehåller en textbox (eller alternativt består en blankett av en textbox).
Vad är skillnaden mellan arv och komposition?
Även om Inheritance and Composition är två OOP-koncept är de helt olika i vad de tillåter programmeraren att uppnå. Arv är förmågan för en klass att ärva egenskaper och beteende från en överordnad klass genom att utöka den, medan komposition är förmågan hos en klass att innehålla objekt av olika klasser som medlemsdata. Om en klass utökas ärver den alla offentliga och skyddade egenskaper / beteenden och dessa beteenden kan åsidosättas av underklassen. Men om en klass finns i en annan får behållaren inte möjligheten att ändra eller lägga till beteende till innehållet. Arv representerar ett "is-a" -förhållande i OOP, medan komposition representerar ett "has-a" -förhållande.
Rekommenderas:
Skillnaden Mellan Ekologisk Arv Och Landsbygd Arv
Huvudskillnaden mellan ekologisk arv och landsbygdens arv är att ekologisk arv är en naturlig process av förändringar medan landsbygdens arv
Skillnaden Mellan Primär Arv Och Sekundär Arv
Primär arv vs sekundär arv Biotiska samhällen förändras beroende på interna faktorer eller externa faktorer. Denna process, som ab
Skillnaden Mellan Uppsats Och Komposition
Essay vs Composition Essay and Composition är två ord som verkar vara förvirrade på grund av deras närhet i betydelser. Strängt taget finns det mycket
Skillnaden Mellan Aggregering Och Komposition
Nyckelskillnad - Aggregation vs Composition Object-Oriented Programming (OOP) är ett vanligt paradigm inom mjukvaruutveckling. Objektet är en instans av
Skillnaden Mellan Arv Och Arv
Nyckelskillnad - Legacy vs Bequest Legacy och legat är två juridiska termer som ofta används för att diskutera en persons sista vilja. Båda hänvisar till en amou