Классы и свойства
Моделируйте данные с помощью классов.
«Классы и свойства» — бесплатный урок 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 — локальная установка не требуется.
Все уроки этого курса
- Объявление функций
- Классы и свойства
- Конструкторы и init
- Классы данных