Реализация интерфейсов с помощью классов
Закрепляйте структуру класса с помощью ключевого слова implements
«Реализация интерфейсов с помощью классов» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.
Добро пожаловать
Базовая реализация
interface Printable {
print(): void;
}
class Document implements Printable {
print() { console.log('Printing...'); }
}Отсутствующие элементы вызывают ошибки
interface Serializable { serialize(): string; }
// Error: Class 'Broken' incorrectly implements interface 'Serializable'
// class Broken implements Serializable {}Реализация нескольких интерфейсов
interface Flyable { fly(): void; }
interface Swimmable { swim(): void; }
class Duck implements Flyable, Swimmable {
fly() { console.log('Flying'); }
swim() { console.log('Swimming'); }
}interface не предоставляет реализацию
implements с необязательными элементами
interface Logger {
log(msg: string): void;
warn?(msg: string): void; // optional
}
class SimpleLogger implements Logger {
log(msg: string) { console.log(msg); }
// warn is not required
}Интерфейс для внедрения зависимостей
interface Storage { save(data: string): void; }
class Service {
constructor(private storage: Storage) {}
run() { this.storage.save('data'); }
}
class LocalStorage implements Storage {
save(data: string) { localStorage.setItem('key', data); }
}Расширение и реализация
Класс, реализующий интерфейс и расширяющий класс
class Animal { breathe() { return 'breathing'; } }
interface Trainable { train(): void; }
class Dog extends Animal implements Trainable {
train() { console.log('Sit!'); }
}Реализация обобщённых интерфейсов
interface Repository<T> {
findById(id: number): T | null;
}
class UserRepo implements Repository<User> {
findById(id: number): User | null {
return null; // stub
}
}Типобезопасность implements
Быстрая проверка
Итоги
Часто задаваемые вопросы
Урок «Реализация интерфейсов с помощью классов» бесплатный?
Да — полный текст урока «Реализация интерфейсов с помощью классов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.
Чему я научусь в уроке «Реализация интерфейсов с помощью классов»?
Закрепляйте структуру класса с помощью ключевого слова implements Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Реализация интерфейсов с помощью классов»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Классы TypeScript и конструкторы
- Модификаторы public, private и protected
- Свойства readonly и свойства параметров
- Реализация интерфейсов с помощью классов