„Здрасти, Амиго!“

„Здравей, Ели!“

„Днес ще ви разкажа много за класовете в Java.“

" Обяснение № 1. Ще започна с аналогия. Всички неща в материалния свят се състоят от атоми. Има различни видове атоми: водород, кислород, желязо, уран... Комбинациите от тези атоми изграждат различни молекули, вещества и обекти."

„Тези атоми имат някои вътрешни структури, като електрони и ядро, състоящо се от протони и неутрони.“

„Да, знам малко за структурата на атомите. Все пак съм робот!“

"Светът на Java е структуриран по подобен начин. Програмите се състоят от различни типове обекти (класове). Различните класове от своя страна съдържат различни вътрешни структури (променливи и методи)."

"Ако разгледаме програмата като цяло, тогава нейните съставни градивни елементи са обекти. Класовете са видовете блокове. С други думи, различните типове блокове са обекти от различни класове. "

— Мисля, че го разбирам.

" Обяснение № 2. Когато имаме нужда от нов тип обект, ние създаваме нов клас и определяме начина, по който се държат неговите вътрешни обекти. "

„Това звучи твърде общо. Изглежда ясно, но не казахте нищо конкретно.“

"По отношение на вътрешната структура, класът се състои от методи, които правят нещо, и променливи, които се използват от методите за съхраняване на данни. "

„И така, би ли било по-просто да се каже, че класът е набор от методи?“

„Почти. За да бъдем по-точни, класът е група от свързани методи и споделени променливи, използвани от тези методи за съхраняване на различни стойности.“

„Разбирам. За да създадем нов клас, първо трябва да напишем тези методи...“

„Да. И ние също трябва да решим Howви променливи ще споделят различните методи. Ние изваждаме тези променливи от методите и ги поставяме в класа, т.е. превръщаме локалните променливи в променливи на член (инстанция).“

„По принцип един клас се създава така:

1. Програмистът решава Howви други обекти са му необходими.

2. Програмистът разделя тези обекти на различни типове, в зависимост от това Howво трябва да правят.

3. Програмистът пише отделен клас за всеки тип.

4. В клас те декларират необходимите методи и променливи.

5. Във всеки метод те пишат команди, за да накарат метода да прави това, което те искат.

6. Класът е готов. Вече можете да създавате обекти от класа."

"Страхотно! Какъв интересен модел! Ще трябва да го запомня."

„Запомнете го. Ще ви бъде от полза. Философията на програмиране, която изисква една програма да бъде разделена на обекти, се нарича обектно-ориентирано програмиране ( OOP ).“

„Java е класически пример за ООП език: в Java всичко е обект.“

„Изучаването на Java се състои от две големи задачи: да се научите How да пишете свои собствени класове и How да използвате класове на други хора . Днес ще започнем с най-простата от тях. Ще се научим How да пишем най-простите класове и, разбира се , How да създавате обекти от тези класове. Обектите също често се наричат ​​„инстанции“ на клас. Те са синоними; и двата израза са правилни."

"Схванах го."

"За да обобщим, можем да кажем, че един клас е мини-програма: някои данни и функции, които използват данните, за да направят нещо. Класовете се използват за създаване на екземпляри на класове, известни също като обекти. "

„За да създадете обект, напишете „ new class_name()“ в codeа. Ето няколко примера:“

Примери
Cat cat = new Cat();
Reader reader = new BufferedReader(new InputStreamReader(System.in));
InputStream is = new FileInputStream(path);

„Един обект има две интересни свойства:“

" Първо . Всеки обект съхранява свое собствено копие на променливи на екземпляр. Това означава, че ако променливите на екземпляр x и y са бor декларирани в клас и са създадени 10 обекта от този клас, тогава всеки обект ще има свои собствени променливи. Промяна на променливите в един обект не засяга променливите в друг обект. "

" Второ . Когато създавате обекти, можете да предавате различни аргументи. Тези стойности се използват за инициализиране на обекта. Малко като именуване на новородено. Много класове изискват такива аргументи, за да създадат екземпляри (обекти) на класа. "

„Разбрах. Какво казахте за променливите на екземпляра?“

„Всеки обект има свои собствени данни. Това са променливите на екземпляра.“

Java code Изход на екрана:
Cat cat1 = new Cat();
cat1.name =  "Oscar";

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

System.out.println(cat1.name);
System.out.println(cat2.name);
Оскар
Смъдж