implisitt karakteristisk
av et objekt-orientert program er Abstraction
. Abstraksjon er spesifikasjonen av en abstrakt datatype, som inkluderer en spesifikasjon av den type s data representasjon Hotell og oppførsel
. Spesielt
For vårt formål, er en abstrakt datatype en ny type (ikke iboende til språket).
Det er ikke en av de primitive datatyper som er bygget inn i programmeringsspråk (for eksempel int, lange, float, etc.).
Skillet i forrige avsnitt er svært viktig. Dataene representasjon og oppførselen til de iboende eller primitive typer er allerede kjent for å kompilatoren og kan ikke endres av programmereren.
representasjon og oppførsel av en abstrakt type er ikke kjent for å kompilatoren før den er spesifisert av programmerer og presentert for kompilatoren på en hensiktsmessig måte.
Hvordan kan vi presentere spesifikasjonen av en abstrakt type til kompilatoren? Java og C ++ programmerere definere data representasjon Kjøpe og oppførsel
av en ny type (presentere spesifikasjonen til kompilatoren) med søkeordet klasse
(C ++ programmerere kan også bruke søkeord struct Hotell og union
).
I andre ord, i Java og C ++, søkeordet klasse
brukes til å konvertere spesifikasjonen av en ny type i noe som kompilatoren kan arbeide med; en sette av planer
som det var.
Andre språk kan bruke ulike mekanismer for å presentere spesifikasjonen av den abstrakte typen til kompilatoren.
Når den nye typen er definert en eller flere objekter av den typen kan bringes inn som (instansiert, forårsaket å okkupere minne).
Når startes, blir objektet sies å ha state Hotell og oppførsel
. state
av et objekt bestemmes av de nåværende verdiene av sine data (instansvariabler) og oppførsel
av et objekt er bestemt av dets metoder (medlemsfunksjoner eller instansmetoder).
For eksempel, igjen tar noen friheter, hvis vi ser et GUI knapp som et objekt, er det ganske enkelt å visualisere tilstand og atferd.
En GUI-knappen kan vanligvis manifestere noen av en rekke ulike tilstander: størrelse, plassering, deprimert image, ikke deprimert bilde, bildetekst, etc. Hver av disse landene bestemmes av data som er lagret i instansvariabler
av knappen objekt
0 (Dot …