— Привет, Амиго!
— Привет, Элли!
— Сегодня я подробно расскажу тебе, что такое классы.
— Объяснение номер 1. Начну с аналогии. Все вещи в физическом мире состоят из атомов. Атомы могут быть разных типов: водород, кислород, железо, уран, … Комбинируя такие атомы можно создавать различные молекулы, вещества и предметы.
— Атомы в свою очередь тоже имеют некоторую внутреннюю структуру. Внутри них содержатся электроны и ядро: протоны и нейтроны.
— Да, я имею общее представление об устройстве атомов. Я же робот.
— Так вот, в мире Java все очень похоже. Программы состоят из объектов, которые бывают разных типов (классов). Различные классы в свою очередь имеют различные внутренние структуры: переменные и методы.
— Если рассмотреть программу в целом, то объекты – это блоки, из которых состоит программа. А классы – это типы этих блоков. Блоки разных типов являются объектами разных классов.
— Вроде ясно.
— Объяснение номер 2. Когда нам нужен новый тип объектов, мы создаем новый класс, и внутри него описываем нужное нам поведение этих объектов.
— Что-то как-то уж слишком размыто это звучит. Вроде и понятно, но ничего конкретного.
— С точки зрения внутренней структуры, класс состоит из методов класса, которые что-то делают и переменных класса, в которых эти методы хранят различные данные.
— Т.е. если очень просто, то класс – это набор методов?
— Почти, точнее будет сказать, что класс – это группа методов, работающих вместе, и переменные, в которых эти методы хранят различные значения, которыми пользуются сообща.
— Ага. И чтобы создать новый класс нам нужно написать эти методы…
— Да. А также решить, какие общие переменные есть у различных методов, и вынести эти переменные из метода в класс: сделать переменные метода переменными класса.
— Создание класса происходит примерно по такой схеме:
1. Программист решает, какие еще объекты ему нужны.
2. Программист разбивает эти объекты на различные типы в зависимости от того, что они должны делать.
3. Для каждого типа программист пишет свой отдельный класс.
4. В классе он объявляет нужные методы и переменные.
5. В каждом методе пишутся команды, чтобы метод делал то, что хочет от него программист.
6. Класс готов, можно создавать его объекты.
— Круто! Интересная схема. Надо будет запомнить
— Запоминай – пригодится. Подход к программированию, при котором программа разбивается на объекты, называется «Объектно-Ориентированное Программирование (ООП)».
— Java – это классический пример ООП подхода: в Java объектами является всё.
— Изучение Java состоит из двух больших задач: учимся писать свои классы, учимся использовать чужие классы. Сегодня мы начнем с самого простого. Будем учиться писать простенькие классы и, конечно, создавать их объекты. Объекты часто еще называют экземплярами классов. Это синонимы: правильно и так и так.
— Понятно.
— Если подытожить всё, что я сказала, то можно сказать, что класс – это мини программа: набор данных и функции, которые что-то с этими данными делают. Важной особенностью классов является возможность создавать экземпляры этих классов – объекты.
— Для того, чтобы создать объект класса, в коде надо написать «new имя_класса()
». Примеры:
Примеры: |
---|
|
|
|
— У объекта класса есть две интересные особенности:
— Первая. Каждый объект класса хранит свою собственную копию переменных класса. Т.е. если в классе объявлены переменные «x,y» и создано 10 объектов такого класса, то в каждом объекте будут свои переменные. Изменение переменных одного объекта не влияет на переменные другого объекта.
— Вторая. При создании объекта, в него можно передавать различные параметры. Это так называемые «стартовые значения». Это почти как дать имя при рождении. Многие объекты не могут быть созданы, если в них не передать такие параметры.
— Немного понятно. А что ты говорила про переменные класса?
— У каждого объекта есть его копия данных – переменных класса.
Код на Java | Вывод на экран: |
---|---|
|
Vaska Mashka |
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ