⊗tsSpOpAMt 18 of 37 menu

Abstraktūs metodai OOP TypeScript kalboje

Pasitaiko situacijų, kai išvestinių klasių turi turėti bendrą metodą, tačiau šio metodo implementacija priklauso nuo konkrečios išvestinės klasės. Tokiu atveju šis metodas gali būti deklaruojamas abstrakčioje tėvinėje klasėje, neparašant jo implementacijos. Tada išvestinės klasės bus privalomas įgyvendinti šiuos metodus. Tokie metodai vadinami abstrakčiaisiais ir taip pat deklaruojami naudojant raktinį žodį abstract.

Paimkime, pavyzdžiui, mūsų abstrakčią klasę User. Tegul šios klasės paveldėtojai būtinai turi turėti metodą show, kuris atvaizduoja objekto duomenis.

Šio metodo implementacija, tačiau, priklausys nuo išvestinės klasės. Deklaruokime klasėje User šį metodą kaip abstraktų:

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

Įgyvendinkime šį metodą išvestinėje klasėje Student:

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

Įgyvendinkime šį metodą išvestinėje klasėje Employee:

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

Abstrakčioje klasėje Figure padarykite abstrakčius metodus plotui ir perimetrui gauti.

Išvestinėse klasėse Square ir Rectangle parašykite šių metodų implementaciją.

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