Definisjon Av Innkapsling, Arv og Polymorfisme

Objektorientert design I c++ Med Kristoffer Hebert

Hva er innkapsling, arv og polymorfisme?

Innkapsling
En Klasse I Objektorientert design er en beholder for data og metoder. Klasser bruker innkapsling til å administrere tilgang til attributter, for eksempel metoder og data, som finnes i seg selv. I C++ – språket oppnås innkapsling I Klasser med attributter som: offentlig, privat, beskyttet og statisk. Offentlige Klasseattributter er tilgjengelige overalt. Private Klasseattributter er bare tilgjengelige For Klassemetoder i seg selv. Beskyttede attributter er tilgjengelige for seg selv og Barneklasser i seg selv. Statiske attributter er bare tilgjengelige For Overordnet Klasse, men Ikke Klassekonstruert objekt.

Arv
Arv i Objektorientert utforming beskriver forholdet Mellom Overordnede Klasser når De utvider Underordnede Klasser. Extend betyr at en klasse overstyrer attributter for, eller arver attributter, fra en annen klasse. I det angitte kodeeksemplet kan Du se At Barneklassen arver alle attributtene Til Foreldreklassen. Den Underordnede klassen overstyrer firstName-verdien i konstruktøranropet. Slik får Du navnene, Tom Sawyer og Suzy Sawyer.

Eksempel på klassearvkode

Polymorfisme
Polymorfisme beskriver en til mange klasseforhold I Objektorientert design. En overordnet Klasse kan ha flere underordnede Klasser som arver og overstyrer egenskaper. Transportklassen har to Klasser som utvider Den, Fly og Seilbåt, overstyrer det beskyttede attributter og showDetails metode.

Nøkler til å huske

Klasser er beholdere som har attributter, kalt data og metode. Klasser bruker innkapsling til å administrere tilgang til disse attributtene. I C++ kan Klasseattributter administreres via private, statiske, offentlige, beskyttede Klasseattributtmodifikatorer. Klasser arver attributtene Til Klassene de utvider. I Tillegg Kan Klasser overstyre attributter For Klassene de utvider. Foreldreklasser kan ha flere barneklasser.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.

More: