0Pricing
Android Academy · Урок

Классы и свойства

Моделируйте данные с помощью классов.

«Классы и свойства» — бесплатный урок Android Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Android Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Android Academy содержит 4 уроков всего.

Что такое класс

Класс — это шаблон для создания объектов. Он объединяет связанные данные и поведение в один тип.

Например, класс Dog может описывать имя, возраст и лай каждой собаки.

Объявление класса

Класс объявляется с помощью ключевого слова class и имени. Имена классов записываются в стиле PascalCase.

Пустой класс вполне допустим; фигурные скобки можно даже не указывать.

class Dog

fun main() {
    println("Class declared")
}

Создание объекта

Объект (или экземпляр) — это конкретная сущность, созданная на основе класса. В Kotlin объект создаётся вызовом имени класса как функции.

Обратите внимание: ключевое слово new не используется.

class Dog

fun main() {
    val rex = Dog()
    println(rex)
}

Свойства

Свойство — это переменная, принадлежащая классу. Объявляйте его внутри тела класса с помощью val или var.

Используйте val для значений, которые никогда не меняются, и var — для значений, которые могут изменяться.

class Dog {
    var name: String = "Rex"
    var age: Int = 3
}

fun main() {
    val d = Dog()
    println(d.name)
}

Доступ к свойствам

Используйте точечную запись, чтобы прочитать или изменить свойство: object.property.

Поскольку name — это var, ему можно присвоить новое значение.

class Dog {
    var name: String = "Rex"
}

fun main() {
    val d = Dog()
    d.name = "Buddy"
    println(d.name)
}

Свойства val и var

После присваивания свойство val доступно только для чтения. Попытка присвоить ему новое значение вызывает ошибку компиляции.

Свойству var можно присваивать новые значения сколько угодно раз.

class Circle {
    val pi = 3.14
    var radius = 1.0
}

fun main() {
    val c = Circle()
    c.radius = 5.0
    println(c.radius)
}

Методы

Функция, объявленная внутри класса, называется методом. Методы могут напрямую использовать свойства класса.

Здесь bark использует свойство name.

class Dog {
    var name: String = "Rex"
    fun bark() {
        println(name + " says Woof!")
    }
}

fun main() {
    Dog().bark()
}

Несколько объектов

У каждого объекта есть собственная копия свойств. Изменение одного объекта не влияет на другой.

Здесь a и b хранят отдельные имена.

class Dog {
    var name: String = ""
}

fun main() {
    val a = Dog()
    val b = Dog()
    a.name = "Rex"
    b.name = "Max"
    println(a.name + " " + b.name)
}

Значения свойств по умолчанию

Каждому свойству нужно значение. При объявлении свойства можно задать разумное значение по умолчанию.

Так новый объект сразу оказывается в известном состоянии, а не получает значение undefined.

class Counter {
    var count: Int = 0
    fun increment() {
        count = count + 1
    }
}

fun main() {
    val c = Counter()
    c.increment()
    println(c.count)
}

Объединение свойств и методов

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

Здесь haveBirthday увеличивает свойство age при каждом вызове.

class Dog {
    var name: String = "Rex"
    var age: Int = 1
    fun haveBirthday() {
        age = age + 1
    }
}

fun main() {
    val d = Dog()
    d.haveBirthday()
    println(d.age)
}

Классы моделируют реальные объекты

Классы позволяют описывать реальные понятия в коде.

  • Свойства описывают, что есть у объекта.
  • Методы описывают, что он умеет делать.

В Android экраны, кнопки и модели представления создаются на основе классов.

Быстрая проверка

Проверьте, насколько хорошо Вы поняли классы и свойства.

Итоги

Вы узнали, что класс — это шаблон, а объект — созданный по нему экземпляр.

Свойства хранят данные с помощью val или var, методы добавляют поведение, а точечная запись обеспечивает доступ к ним. Далее Вы настроите свойства с помощью конструкторов.

Часто задаваемые вопросы

Урок «Классы и свойства» бесплатный?

Да — полный текст урока «Классы и свойства» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Android Academy, подпишись на CoddyKit PRO. Курс Android Academy содержит 4 уроков всего.

Чему я научусь в уроке «Классы и свойства»?

Моделируйте данные с помощью классов. Ты практикуешь Android Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Android Academy?

Предыдущий опыт не требуется. Android Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Классы и свойства»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Android Academy?

Да. Каждый урок Android Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Объявление функций
  2. Классы и свойства
  3. Конструкторы и init
  4. Классы данных
← Назад к Android Academy