Hem Personliga finanser Hur fungerar arv i C ++? - dummies

Hur fungerar arv i C ++? - dummies

Video: Programmering 2 - OOP Arv 2024

Video: Programmering 2 - OOP Arv 2024
Anonim

I nheritance i C ++ en klasss förmåga att ärva kapaciteter eller egenskaper från en annan klass. Arv är ett vanligt begrepp. Du ärvererar vissa egenskaper från klassen Mänsklig, som min förmåga att (mer eller mindre) förmedla mig intelligent och mitt beroende av luft, vatten och kolhydratbaserad näring (lite för beroende av den senare).

Dessa egenskaper är inte unika för människor. Klassen Mänsklig ärver de beroende av luft, vatten och näring från klassen Mammal, som ärvde den från klassen Animal.

Möjligheten att överföra egenskaper är en kraftfull. Det gör att du kan beskriva saker på ett ekonomiskt sätt. Till exempel, om någon frågar, "Vad är en anka? "Du kan säga," Det är en fågel som går iväg. "

Trots vad du kanske tror, ​​ger det svaret en stor mängd information. Han vet vad en fågel är, och nu vet han alla samma saker om en anka plus andens extra egenskap av "kvackhet". ”

Objektorienterade (OO) språk uttrycker detta arvsförhållande genom att tillåta en klass att ärva från en annan. OO-språk kan generera en modell som ligger närmare den verkliga världen (kom ihåg det verkliga ämnet!) Än modellen som genereras av språk som inte stöder arv.

C ++ tillåter en klass att ärva en annan klass enligt följande:

klass Student {}; klass GraduateStudent: allmän student {};

Här en GraduateStudent ärver alla medlemmarna av Student. Således en GraduateStudent IS_A Student . (Kapitaliseringen av IS_A betonar vikten av detta förhållande.) Naturligtvis kan GraduateStudent också innehålla andra medlemmar som är unika för en GraduateStudent .

Erfarenhet infördes i C ++ av flera skäl. Naturligtvis är den stora orsaken förmågan att uttrycka arvsleden. En mindre anledning är att minska mängden skrivning.

Antag att du har en klass Student, och du blir ombedd att lägga till en ny klass som heter GraduateStudent. Arv kan drastiskt minska antalet saker du måste sätta i klassen. Allt du verkligen behöver i klassen GraduateStudent är saker som beskriver skillnaderna mellan studenter och doktorander.

En annan bieffekt har att göra med mjukvaruändring. Antag att du ärva från någon befintlig klass. Senare finner du att basklassen inte gör exakt vad subklassen behöver.Eller kanske har klassen en insats.

Ändring av basklassen kan bryta mot annan kod som använder den grundläggande klassen. Att skapa och använda en ny underklass som överbelastar den felaktiga funktionen med en korrigerad version löser ditt problem utan att orsaka ytterligare problem för någon annan.

Hur fungerar arv i C ++? - dummies

Redaktörens val

Hur man tar bort eller minimerar webbdelar i SharePoint 2013 - dummies

Hur man tar bort eller minimerar webbdelar i SharePoint 2013 - dummies

Du har två alternativ för att ta bort en webbdel från din SharePoint-sida - stängning eller radering. Att stänga en webbdel lämnar webbdelen på sidan så att du kan aktivera den igen för framtida användning. Att ta bort webbdelen tar bort webbdelen från din sida (men tar inte bort den från SharePoint). Till ...

För att ladda ner Apps från SharePoint Store - dummies

För att ladda ner Apps från SharePoint Store - dummies

Förutom de appar som följer med SharePoint, Du kan också lägga till appar från tredje part. Dessa tredjepartsprogram visas i SharePoint-butiken. Om du använder SharePoint Online har du tillgång till hela butiken. Om du använder SharePoint On-Premise kan dina lokala IT-administratörer ha låst ned de appar som ...

Hur man visar visningar via webbdelar i SharePoint 2013 - dummies

Hur man visar visningar via webbdelar i SharePoint 2013 - dummies

Du vill visa din SharePoint appdata med annan text och webbdelar på flera platser, till exempel hemsidor för hemsida, webbsidor eller publiceringssidor. I dessa situationer vill du inte att dina användare ska interagera med själva appen med alla redigeringsalternativ. Du vill bara att de ska se flera ...

Redaktörens val

Vad är Kik? - dummies

Vad är Kik? - dummies

Grundades 2009, är Kik en gratis snabbmeddelandeprogram utvecklad från Kik Interactive. Kik är tillgängligt på Android, Windows Phone och iOS-enheter. Applikationen är modellerad efter BlackBerry Messenger. Kik använder den befintliga smarttelefonens dataplan eller Wi-Fi för att skicka och ta emot meddelanden, videoklipp, foton, mobila webbsidor, skisser och annat innehåll. ...

ÖVersätt Twitter Slang och Jargon - dummies

ÖVersätt Twitter Slang och Jargon - dummies

Diskussioner om och om Twitter är fulla med alla slags förkortningar och jargong som kan förvirra nya Twitter-användare. Vad talar folk om (och tweeting) om? Följande ordlista definierar några av de förvirrande förkortningarna och Twitter-lingo du kan komma över. AFAIK: Så vitt jag vet. bot: Ett konto som drivs av en ...

Vad är Letgo? - dummies

Vad är Letgo? - dummies

Letgo är en mobil klassificerad applikation som tillåter användare att köpa från och sälja till andra lokalt. Du kan använda Letgo till fyndbutik eller slutligen släppa på saker som samlar damm runt ditt hus. I likhet med andra classifieds-applikationer som Wallapop eller Craigslist kommer säljare att skicka ett objekt och vänta på en köpare ...

Redaktörens val

Vanliga kodningsfel - dummies

Vanliga kodningsfel - dummies

Koden fungerar inte? Här är några vanliga misstag som kan gå upp till och med även den mest erfarna kodaren. Om din kod inte kommer att köras, försök att springa ned den här checklistan för att se om du har några av dessa fel: Har inte en slutlig HTML-tagg efter varje öppnande HTML-tagg . Saknade parentes i ...

Grundläggande kodningsordförråd - dummies

Grundläggande kodningsordförråd - dummies

Kodning har ett omfattande vokabulär som för lekmän kan verka som ogenomtränglig technobabble. Oavsett om du läser kodningsrelaterad artikel online eller pratar med en utvecklare på jobbet hörs det kanske ord som du inte har hört förut eller som har en annan mening i en kodande kontext. Här är några vanliga ordförrådsord att veta: Allmänt ...