Video: SCP-914 The Clockworks | safe | transfiguration / sapient scp 2025
Når du programmerer i Java, arbejder du konstant med klasser og objekter. Disse to ideer er virkelig vigtige.
Luk øjnene et øjeblik og tænk på hvad det betyder for noget at være en stol.
En stol har sæde, ryg og ben. Hvert sæde har en form, en farve, en grad af blødhed og så videre. Disse er de egenskaber, som en stol besidder. Hvad der beskrives er stolness - begrebet om at være en stol. I objektorienteret terminologi beskriver dette stolklassen.
Tag nu et øjeblik for at se dig omkring dit værelse. (Hvis du ikke sidder i et værelse lige nu, falsk det.)
Flere stole er i rummet, og hver stol er en genstand. Hver af disse objekter er et eksempel på den æteriske ting kaldet formiddagsklassen. Sådan fungerer det - klassen er ideen om stolness, og hver enkelt stol er et objekt.
En klasse er ikke helt en samling ting. I stedet er en klasse ideen bag en bestemt slags ting. Når vi taler om klassen af stole i dit værelse, taler vi om, at hver stol har ben, et sæde, en farve osv. Farverne kan være forskellige for forskellige stole i rummet, men det er ligegyldigt. Når du taler om en klasse af ting, fokuserer du på de egenskaber, som hver ting har.
Det er fornuftigt at tænke på et objekt som værende et konkret eksempel på en klasse. Faktisk er den officielle terminologi i overensstemmelse med denne tænkning. Hvis du skriver et Java-program, hvor du definerer en Chair-klasse, kaldes hver egentlig stol (den stol, du sidder på, den tomme stol lige ved siden af dig osv.) Et eksempel af Formandsklassen.
Her er en anden måde at tænke på en klasse. Forestil dig en tabel, der viser alle tre dine bankkonti. (Se tabel 1.)
Tabel 1 En kontoplan
Kontonummer |
Type |
Balance |
16-13154-22864-7 |
Kontrollerer |
174. 87 |
1011 1234 2122 0000 |
Kreditter |
-471. 03 |
16-17238-13344-7 |
Besparelser |
247. 38 |
Tænk på bordets kolonneoverskrifter som en klasse, og tænk på hver række af bordet som et objekt. Tabellens kolonneoverskrifter beskriver kontoklassen.
Ifølge tabelens kolonneoverskrifter har hver konto et kontonummer, en type og en balance. Repræsenteret i terminologien for objektorienteret programmering har hvert objekt i Kontoklassen (det vil sige hver forekomst af Kontoklassen) et kontonummer, en type og en balance. Så den nederste række af bordet er et objekt med kontonummer 16-17238-13344-7. Det samme objekt har typen Besparelser og en balance på 247. 38. Hvis du har åbnet en ny konto, ville du have et andet objekt, og bordet ville vokse en ekstra række. Det nye objekt ville være en forekomst af samme konto klasse.