Припустимо, у мене є чисто абстрактний клас (тобто абстрактний клас без будь-якої реалізації):
abstract class A {
abstract m(): void;
}
Як і в C # та Java, я можу розширити абстрактний клас:
class B extends A {
m(): void { }
}
Але на відміну від C # та Java, я також можу реалізувати абстрактний клас:
class C implements A {
m(): void { }
}
Як заняття B
та C
поведінка по-різному? Чому я вибрав би одне проти іншого?
(На даний момент довідник TypeScript та специфікація мови не охоплюють абстрактні класи.)
abstract
доступність у TS, і це допомогло мені це зрозуміти.