Video: 4 Tips til at lære programmering 2025
Objektorienteret programmering er en type computerprogrammering - som f.eks. Java - baseret på forudsætningen om at alle programmer er i det væsentlige computerbaserede simuleringer af virkelige objekter eller abstrakte begreber. For eksempel:
-
Flight-simulatorprogrammer forsøger at efterligne virkeligheden af rigtige fly.
-
Mange computerspil er simuleringer af faktiske spil, som mennesker spiller, såsom baseball, NASCAR racing og skak.
-
Selv forretningsprogrammer kan betragtes som simuleringer af forretningsprocesser, såsom ordreoptagelse, kundeservice, fragt og fakturering.
Objekter er programmeringsenheder, der har visse grundlæggende egenskaber:
-
Identitet: Hvert objekt i et objektorienteret program har en identitet . Med andre ord kan enhver forekomst af en bestemt type genstand -an eksempel - skelnes fra alle andre forekomster af samme type objekt samt fra objekter af andre typer.
Hvert objekteksemplar har sit eget sted i computerens hukommelse. Således kan to genstande, selvom de er af samme type, have deres egne forskellige hukommelsessteder. Adressen til startstedet for et objekt giver mulighed for at skelne en objekt fra en anden, fordi ingen to objekter kan optage samme sted i hukommelsen.
Java holder hver enkelt objekts identitet stort set til sig selv. Med andre ord er der ingen nem måde at få hukommelsesadressen til et objekt på; Java viser, at det ikke er noget af din virksomhed, og med rette det. Hvis Java gjorde disse oplysninger let tilgængelige for dig, ville du blive fristet til at tinker med det, hvilket kan forårsage alle mulige problemer, som enhver C eller C + + -programmerer kan fortælle dig.
Java-objekter har noget, der hedder en hashkode, , som er en int-værdi, der automatisk genereres for hvert objekt, og næsten repræsenterer objektets identitet. I de fleste tilfælde er hash-koden for et objekt baseret på objektets hukommelsesadresse, men ikke altid. Java garanterer ikke, at to forskellige objekter ikke har samme hash-kode.
Når det bruges med objekter, tester ligestillingsoperatøren (==) objektets identitet af to variabler eller udtryk. Hvis de henviser til samme objektinstans, betragtes de to variabler eller udtryk som lige.
-
Type: Objektorienteret programmering giver dig mulighed for at tildele navne til de forskellige slags objekter i et program. I Java definerer klasser typer. Når du opretter et objekt fra en type, siger du derfor, at objektet er af den type, der er angivet af klassen.Følgende eksempelopgørelse opretter et objekt af typen Faktura:
Faktura i = Ny Faktura ();
I dette tilfælde er identiteten af dette objekt (det vil sige dens adresse i hukommelsen) tildelt variablen i, som kompilatoren ved kan holde referencer til objekter af typen Faktura.
-
Stat: Selv om hver forekomst af en given objekttype har de samme attributter, har hver forekomst en anden tilstand: det vil sige en anden kombination af værdier for hver af dets attributter.
Selvom nogle attributter af en genstand er offentlige, kan andre være private. De private attributter kan være afgørende for objektets interne funktion, men ingen udenfor objektet ved, at de eksisterer. De er som dine private tanker: De påvirker hvad du siger og gør, men ingen kender dem, men dig.
-
Adfærd: Et andet kendetegn ved objekter er, at de har adfærd, , hvilket betyder at de kan gøre ting. Ligesom tilstand afhænger en objekts specifikke opførsel af sin type. I modsætning til tilstand er adfærd imidlertid ikke forskellig for hver forekomst af en type.
Antag at alle elever i et klasseværelse har regnemaskiner af samme type. Bed dem alle om at trække regnemaskinerne ud og tilføje to tal. Alle regnemaskinerne viser et andet nummer, men de tilføjer alle på samme måde; det vil sige, de har alle en anden stat, men den samme adfærd.
En anden måde at sige, at objekter har adfærd er at sige, at de leverer tjenester, der kan bruges af andre objekter. Du har sandsynligvis allerede set masser af eksempler på objekter, der yder tjenester til andre objekter. Objekter, der er oprettet fra NumberFormat-klassen, giver for eksempel formateringstjenester, der ændrer numeriske værdier til pænt formaterede strings, såsom $ 32. 95.
I Java er opførelsen af et objekt tilvejebragt af dets metoder. Således er formatmetoden i NumberFormat-klassen, hvad der giver formateringsadfærd for NumberFormat-objekter.