Классы
«Класс представляет шаблон для создания объектов и инкапсулирует функциональность.»
Базовый класс
class Greeter {
greeting: string
constructor(message: string) {
this.greeting = message
}
greet() {
return 'Привет, ' + this.greeting
}
}
const greeter = new Greeter('Мир')
greeter.greet() // 'Привет, Мир'
Модификаторы доступа
class BankAccount {
public owner: string // доступен везде
private balance: number // только внутри класса
protected currency: string // класс и подклассы
readonly id: string // нельзя изменить после init
}
Наследование
class Animal {
name: string
constructor(name: string) { this.name = name }
move(distance: number) { console.log(this.name + ' прошёл ' + distance + 'м') }
}
class Snake extends Animal {
constructor(name: string) { super(name) }
move(distance = 5) { super.move(distance) }
}
class Horse extends Animal {
constructor(name: string) { super(name) }
move(distance = 45) { super.move(distance) }
}
ℹ️ Отказ от классов
Этот курс обучает разработке мобильных приложений на React, где React Hooks позволяют использовать состояние и другие возможности React без написания классов.