#7 – Создание классов и объектов (ООП)

Поділитись

Начиная с этого урока мы приступаем к теме ООП. В уроке вы изучите создание классов и создание объектов в языке Kotlin. В Kotlin каждый класс создается с минимальным количеством кода, при этом обладает большим функционалом.

Видеоурок

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

В любом классе можно создавать поля (переменные), методы (функции), а также конструкторы. В основном классе мы все это уже прописывали, поэтому ничего нового здесь нет.

Создав новый класс и поместив туда какую-либо информацию мы можем создавать на основе него новые объекты. Объекты будут иметь доступ ко всем характеристикам класса, которые отмечены модификатором public.

Существует четыре модификатора доступа:

  • public – данные будут видны повсюду, как в классе, так и вне его;
  • internal – данные будут видны только в внутри одного модуля;
  • protected – данные будут видны только в классе, где они созданы, а также в классах наследниках;
  • private – данные будут видны только в классе, где они созданы.

Пример простого класса приведен ниже:

class Book(var name: String = "None", var pages: Int = 0) {
	var weight: Int = 0
 
	internal fun getInfoBook() {
		print("В книге $name находиться $pages страниц.")
		print("При этом она весит $weight")
	} 
}

На основе такого класса мы можем создать множество объектов. Каждый объект в данном случае будет представлять из себя конкретную книжку. Для каждого объекта мы можем указать уникальные данные: количество страниц, название книги и её вес.

Чтобы создать объект нам потребуется следующий код:

val sherlock_holms = Book() // создание объекта
sherlock_holms.getInfoBook()

Такой код можно прописать и в одной строке кода. Мы для наглядности разбили код в две строки. 

Чтобы брать данные из класса через объект необходимо ставить точку и указывать имя переменной или функции, которую мы хотим взять.


Поділитись