⊗tsSpOpACl 17 of 37 menu

Абстрактни ООП класове в TypeScript

Има ситуации, когато имаме родителски клас, съдържащ общи свойства и методи, а от него наследяват дъщерни класове.

В същото време може да се случи, че ще създаваме обекти от дъщерни класове, но не и от родителския клас. Той ни е необходим само за групиране на общи свойства и методи.

В този случай, за да забраним изрично създаването на обекти от родителския клас, можем да го декларираме като абстрактен. Това става с помощта на ключовата дума abstract.

Нека разгледаме пример. Вземете нашия клас User и го декларирайте като абстрактен:

abstract class User { public name: string; constructor(name: string) { this.name = name; } }

Нека направим клас Student, наследяващ от User:

class Student extends User { public course: number; constructor(name: string, course: number) { super(name); this.course = course; } }

Нека направим клас Employee, наследяващ от User:

class Employee extends User { public salary: number; constructor(name: string, salary: number) { super(name); this.salary = salary; } }

Създайте абстрактен клас Figure, представляващ геометрична фигура. Нека има свойства за периметър и площ.

Направете клас Square, наследяващ от класа Figure.

Направете клас Rectangle, наследяващ от класа Figure.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне