⊗tsSpOpAMt 18 of 37 menu

Abstracte methoden in OOP in TypeScript

Het komt voor dat afgeleide klassen een gemeenschappelijke methode moeten hebben, maar de implementatie van deze methode afhangt van de specifieke afgeleide klasse. In dit geval kan deze methode worden gedeclareerd in de abstracte bovenliggende klasse, zonder de implementatie ervan te schrijven. En dan zullen afgeleide klassen verplicht zijn om deze methoden te implementeren. Dergelijke methoden worden abstracte methoden genoemd en worden ook gedeclareerd met behulp van het sleutelwoord abstract.

Laten we voor het voorbeeld onze abstracte klasse User nemen. Stel dat afgeleide klassen van deze klasse verplicht een methode show moeten hebben, die de gegevens van het object weergeeft.

De implementatie van deze methode zal echter afhangen van de afgeleide klasse. Laten we in de klasse User deze methode abstract declareren:

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

Laten we deze methode implementeren in de afgeleide klasse Student:

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

Laten we deze methode implementeren in de afgeleide klasse Employee:

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

Maak in de abstracte klasse Figure abstracte methoden voor het verkrijgen van de oppervlakte en de omtrek.

Schrijf in de afgeleide klassen Square en Rectangle de implementatie van deze methoden.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren