Objektorientert programmering i C ++ - Del 8 Innledning Dette er del 8 av min serie, Objektorientert programmering i C ++. En klasse medlem er enten en eiendom eller en metode. En statisk medlem av en klasse er medlem der verdien er den samme for hvert objekt instansiert. Dette betyr at hvis en gjenstand endrer verdien av den statiske elementet, vil denne endringen bli reflektert i en annen gjenstand instansiert fra klassen. Endringen (eller den resulterende verdi) vil være den samme i alle instansiert stedene.
Du kan også få tilgang til en statisk medlem hjelp av klassenavnet uten oppretting. I denne delen av serien ser vi på statiske medlemmer i C ++ klasser. Du kan ha en statisk medlem langs side andre medlemmer i klassen. Merk: Hvis du ikke kan se koden, eller hvis du tror noe mangler (ødelagt kobling, bilde fraværende), bare kontakte meg på [email protected]. Det er, kontakt meg for den minste problemet du har om hva du leser. Statisk Eiendom En statisk eiendommen er også kalt en statisk data medlem.
Erklære en statisk Eiendom Du erklære en statisk egenskap akkurat som du erklære noen annen egenskap, men du foran erklæringen uttrykk med nøkkelordet, statisk og en plass. Syntaksen er: statisk Type Ident; Til tross for denne enkle funksjonen, må du lære hvordan du bruker statisk medlem. Du trenger ikke bruke den i grei måte. Eksempel Følgende klassen illustrerer bruken av en statisk egenskap medlem: # include bruker namespace std; class MyClass {public: static int sameAll; }; int MyClass :: sameAll = 5; int main () {MyClass myObj; myObj.
sameAll = 6; domstol returnere 0; } I koden, har du en klasse kalt MyClass. Denne klassen har bare ett element, som er det statiske dataelementet. Du initialisere statisk medlem utenfor klassen beskrivelse som vist ovenfor. Du begynner med avkastningen type statisk eiendommen. Dette etterfølges av et mellomrom og navnet på klassen. Etter at du har omfanget operatør, deretter identifikatoren til den statiske egenskapen. Da har du oppdraget operatør og verdien. Du instantiate et objekt danne den klassen som har den statiske medlem på vanlig måte.
Linje 1 i den viktigste funksjonen illustrerer dette. Du får tilgang til statisk eiendom som tilhører et instansiert objekt på vanlig måte. Den andre linjen i den viktigste funksjonen illustrerer dette. Men å endre verdien som denne linjen har gjort betyr å endre verdien for klassen (beskrivelse) og eventuell instansiert objekt og enhver gjenstand som fortsatt er å brukes. Den tredje linjen i den viktigste funksjonen viser statisk eiendommens verdi. Den bruker klassenavnet; det gjorde ikke bruke objektnavnet.
For å bruke klassenavnet for å få tilgang til statisk egenskap, begynner du med klassenavnet. Dette etterfølges av rammen operatør og deretter en identifikator for den statiske egenskap. Dette viser hvordan du kan få tilgang til en statisk egenskap med klassenavnet direkte og uten å bruke et objekt; dette er som å få tilgang til eiendommen i klassen beskrivelse. Den statiske medlem er en slags global objekt.
Eksempel med mange objekter Følgende eksempel illustrerer at den statiske data medlem er det samme for sin klasse og dens instansiert gjenstander og hvis du endrer den gjennom et objekt eller gjennom klassen (MyClass :: sameAll) verdien er endring i samme ny verdi , for alle objekter og klassen: # include bruker namespace std; class MyClass {public: static int sameAll; }; int MyClass :: sameAll = 5; int main () {MyClass :: sameAll = 6; domstol MyClass obj1; obj1.sameAll = 7; MyClass obj2; domstol domstol domstol returnere 0; } Les gjennom koden og prøve det.
Den første linjen i hoved endrer verdi ved hjelp av klassenavnet. Den andre linjen viser den endrede verdien. Den tredje linjen instantiates et objekt danne klassen. Den fjerde linjen endrer verdi med instansiert objektet. Den femte linje instantiates et nytt objekt. Resten av linjene vise verdien ved hjelp av klassen og deretter de to forskjellige stedene. Disse tre linjer, som alle viser samme verdi som bekrefter den hensikt statiske element. Statisk Metode Du kan også ha statiske metoder. En statisk metode kan bare referere til statiske medlemmer.
Det kan ikke bruke søkeordet, dette (se nedenfor). Jeg vil ikke ta statiske metoder videre i denne artikkelen. Den denne Keyword det dette søkeordet er ikke en del av statiske medlemmer. Men jeg har bare tatt det i denne artikkelen, fordi det er kort. Nøkkelordet, dette representerer en peker til det objektet som medlem metoden blir henrettet. Det er en peker til selve objektet.
Følgende kode gir en illustrasjon: # include bruker namespace std; class MyClass {public: int num1; int assignShow () {this->
exe?
NET - C # - Hvordan kode en gjenbruk…