Классы и объекты

Классы

Класс представляет собой шаблон или описание, по которому создаются объекты. Он определяет свойства и методы, которыми обладают объекты данного класса.

Создадим новый файл, назовём его Car.java

public class Car { String brand; // Добавляем характеристику (поле) String model; // Добавляем характеристику (поле) int year; // Добавляем характеристику (поле) }

Зачем нужен новый файл? Дело в том, что файлы в Java являются классами, поэтому:
1) название файла = название класса
2) название файла всегда с большой буквы
3) один класс = один файл
- запомните эти три важных правила хорошего тона!


Поля объекта

Поля объекта представляют данные, характеризующие состояние объекта. Они соответствуют свойствам, описанным в классе.

В файле Main.java

public class Main { public static void main(String[] args) { Car car1 = new Car(); // Создаём объект класса Car car1.brand = "Toyota"; // Задаём значение характеристики car1.model = "Camry"; // Задаём значение характеристики car1.year = 2020; // Задаём значение характеристики Car car2 = new Car(); // Создаём объект класса Car car2.brand = "Ford"; // Задаём значение характеристики car2.model = "Mustang"; // Задаём значение характеристики car2.year = 2018; // Задаём значение характеристики } }

Конструктор класса

В предыдущем примере мы задавали значения полям объекта поочерёдно обращаясь к каждому их них. На самом деле можно немного подсократить этот код. У класса есть так называемый конструктор, который вызывается при создании объекта.

В файле Car.java

public class Car { String brand; String model; int year; // Конструктор класса Car public Car(String brand, String model, int year) { this.brand = brand; this.model = model; this.year = year; } }

В файле Main.java

public class Main { public static void main(String[] args) { // Создаём объекты класса Car и сразу пишем значения для полей Car car1 = new Car("Toyota", "Camry", 2020); Car car2 = new Car("Ford", "Mustang", 2018); } }

То, что вы указываете в скобках new Car("Toyota", "Camry", 2020)
попадает в скобки public Car(String brand, String model, int year) - это называется параметры(аргументы) конструктора.

this.brand = brand - присваиваем значение созаваемому объекту. this - это объект котрый создаётся.


Сложно? На самом деле это интересно, изначально может быть совершенно не понятно зачем всё это. Но поверьте мне, ООП значительно облегчает и ускоряет процесс разработки ПО.

А вот тебе пример того, как ты выглядишь когда регистрируешься на платформе:

public class User { long id; String name; String lastname; String email; Date email_verified_at; String remember_token; String img; Date created_at; Date updated_at; Date last_seen; }

На самом деле это приближенный к истине пример, но суть я думаю ясна. Каждый пользователь платформы - объект.

Каждая домашка это объект, каждое задание это объект, да что уж там, эта web-страница тоже объект!


Думаю что вопросов о том, зачем нужно ООП становится меньше, в следующей теме мы научимся добавлять дейстивя нашим объектам.


Комментарии

Добавить комментарий

Чтобы оставить комменатрий необходимо Авторизоваться