"Hej, Amigo!"

"Hej, Ellie!"

"I dag vil jeg fortælle dig en masse om klasser i Java."

" Forklaring nr. 1. Jeg starter med en analogi. Alle ting i den materielle verden består af atomer. Der er forskellige typer atomer: brint, oxygen, jern, uran... Kombinationer af disse atomer udgør forskellige molekyler, stoffer og genstande."

"Disse atomer har nogle interne strukturer, såsom elektroner og en kerne bestående af protoner og neutroner."

"Ja, jeg ved lidt om strukturen af ​​atomer. Jeg er jo en robot!"

"Java-verdenen er struktureret på en lignende måde. Programmer består af forskellige typer objekter (klasser). Forskellige klasser indeholder til gengæld forskellige interne strukturer (variabler og metoder)."

"Hvis vi ser på et program som en helhed, så er dets byggeklodser objekter. Klasser er typer af blokke. Med andre ord, forskellige typer blokke er objekter af forskellige klasser. "

"Jeg tror, ​​jeg forstår det."

" Forklaring nr. 2. Når vi har brug for en ny objekttype, opretter vi en ny klasse og definerer den måde, dens interne objekter opfører sig på. "

"Det lyder lidt for generelt. Det virker klart, men du sagde ikke noget konkret."

"Med hensyn til den interne struktur består en klasse af metoder, der gør noget, og variabler, som bruges af metoderne til at gemme data. "

"Så ville det være nemmere at sige, at en klasse er et sæt metoder?"

"Næsten. For at være mere præcis er en klasse en gruppe af relaterede metoder og delte variabler, der bruges af disse metoder til at gemme forskellige værdier."

"Jeg forstår det. For at oprette en ny klasse skal vi først skrive disse metoder..."

"Ja. Og vi skal også beslutte, hvilke variabler forskellige metoder vil dele. Vi trækker disse variable ud af metoderne og sætter dem ind i klassen, dvs. vi gør lokale variable til medlemsvariable (instans-variabler."

"Grundlæggende er en klasse oprettet sådan her:

1. Programmøren bestemmer, hvilke andre objekter de skal bruge.

2. Programmøren opdeler disse objekter i forskellige typer, alt efter hvad de skal gøre.

3. Programmøren skriver en separat klasse for hver type.

4. I en klasse erklærer de de nødvendige metoder og variabler.

5. I hver metode skriver de kommandoer for at få metoden til at gøre, hvad de vil have den til.

6. Klassen er klar. Du kan nu oprette objekter i klassen."

"Cool! Sikke et interessant mønster! Det skal jeg huske."

"Husk det. Det vil være nyttigt. Programmeringsfilosofien, der kræver, at et program skal opdeles i objekter, kaldes objektorienteret programmering ( OOP )."

"Java er et klassisk eksempel på et OOP-sprog: i Java er alt et objekt."

"At studere Java består af to store opgaver: at lære at skrive dine egne klasser og at lære at bruge andres klasser . I dag starter vi med de enkleste af disse. Vi lærer at skrive de enkleste klasser og selvfølgelig , hvordan man opretter objekter af disse klasser. Objekter kaldes også ofte 'forekomster' af en klasse. De er synonymer; begge udtryk er korrekte."

"Forstået."

"For at opsummere kan vi sige, at en klasse er et miniprogram: nogle data og funktioner, der bruger dataene til at gøre noget. Klasser bruges til at skabe forekomster af klasser, også kendt som objekter. "

"For at oprette et objekt skal du skrive ' new class_name()' i koden. Her er nogle eksempler:"

Eksempler
Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

"Et objekt har to interessante egenskaber:"

" Først . Hvert objekt gemmer sin egen kopi af instansvariabler. Dette betyder, at hvis instansvariablerne x og y blev erklæret i en klasse og 10 objekter af den klasse blev oprettet, så vil hvert objekt have sine egne variabler. Ændring af variablerne i en objekt påvirker ikke variablerne i et andet objekt. "

" For det andet . Når du opretter objekter, kan du sende forskellige argumenter. Disse værdier bruges til at initialisere objektet. Lidt ligesom at navngive en nyfødt. Mange klasser kræver sådanne argumenter for at skabe forekomster (objekter) af klassen. "

"Jeg forstår det. Hvad sagde du om instansvariabler?"

"Hvert objekt har sine egne data. Disse er instansvariablerne."

Java kode Skærmudgang:
Cat cat1 = new Cat();
cat1.name =  "Oscar";

Cat cat2 = new Cat();
cat2.name = "Smudge";

System.out.println(cat1.name);
System.out.println(cat2.name);
Oscar
Smudge