Модификаторы public, private и protected
Управляйте доступом к членам класса с помощью модификаторов
«Модификаторы public, private и protected» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 4 уроков всего.
Добро пожаловать
public: доступен повсюду
class Car {
public brand: string;
constructor(brand: string) { this.brand = brand; }
}
const c = new Car('Toyota');
console.log(c.brand); // OKprivate: доступ только внутри класса
class BankAccount {
private balance: number = 0;
deposit(n: number) { this.balance += n; }
}
const a = new BankAccount();
// a.balance; // Error!protected: доступ из класса и производных классов
class Animal {
protected name: string;
constructor(name: string) { this.name = name; }
}
class Dog extends Animal {
bark() { console.log(this.name + ' says woof!'); } // OK
}Проверка только на этапе компиляции
Закрытые поля JavaScript с #
class Counter {
#count = 0; // runtime private (JavaScript)
increment() { this.#count++; }
get value() { return this.#count; }
}Модификатор readonly
class User {
readonly id: number;
constructor(id: number) { this.id = id; }
}
const u = new User(1);
// u.id = 2; // Error!Объединение модификаторов
class Config {
constructor(
public readonly host: string,
private readonly port: number
) {}
}private у конструктора
class Singleton {
private static instance: Singleton;
private constructor() {}
static getInstance(): Singleton {
return this.instance ??= new Singleton();
}
}Защищённый конструктор
class Base {
protected constructor(public id: number) {}
}
class Derived extends Base {
constructor(id: number) { super(id); }
}Модификаторы доступа не создают накладных расходов во время выполнения
Быстрая проверка
Итоги
Изучай TypeScript с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 101
- Уроки
- 352
Часто задаваемые вопросы
Урок «Модификаторы public, private и protected» бесплатный?
Да — полный текст урока «Модификаторы public, private и protected» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 4 уроков всего.
Чему я научусь в уроке «Модификаторы public, private и protected»?
Управляйте доступом к членам класса с помощью модификаторов Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Модификаторы public, private и protected»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Классы TypeScript и конструкторы
- Модификаторы public, private и protected
- Свойства readonly и свойства параметров
- Реализация интерфейсов с помощью классов