Что преподносит TypeScript со стороны ООП

Ответ

TypeScript поддерживает ключевые концепции ООП: классы, интерфейсы, наследование, инкапсуляцию и полиморфизм.

Классы с модификаторами доступа (public, private, protected):

class Animal {
  private name: string;  
  constructor(name: string) { this.name = name; }  
  protected speak(): void { console.log(`${this.name} makes a sound`); }  
}  

Наследование:

class Dog extends Animal {  
  bark(): void { this.speak(); } // доступ к protected методу  
}  

Интерфейсы для описания контрактов:

interface Movable {  
  move(): void;  
}  
class Car implements Movable {  
  move() { console.log("Driving..."); }  
}  

Абстрактные классы и перегрузка методов также поддерживаются. TypeScript добавляет статическую типизацию, что делает ООП-код более предсказуемым.