⊗tsSpOpAMt 18 of 37 menu

Abstraktit menetelmät OOP:ssa TypeScriptissä

Joskus tapahtuu niin, että lapsiluokilla on oltava yhteinen menetelmä, mutta menetelmän toteutus riippuu tietystä lapsiluokasta. Tässä tapauksessa tämä menetelmä voidaan julistaa vanhemman abstraktissa luokassa kirjoittamatta sen toteutusta. Ja sitten lapsiluokat ovat velvollisia toteuttamaan nämä menetelmät. Tällaisia menetelmiä kutsutaan abstrakteiksi ja ne myös julistetaan käyttämällä avainsanaa abstract.

Otetaan esimerkiksi abstrakti luokkamme User. Olkoon, että tämän luokan perijöiden on pakko olla menetelmä show, joka tulostaa olion tiedot.

Menetelmän toteutus kuitenkin riippuu lapsiluokasta. Julistetaan luokassa User tämä menetelmä abstraktiksi:

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

Toteutetaan tämä menetelmä lapsiluokassa Student:

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

Toteutetaan tämä menetelmä lapsiluokassa Employee:

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

Abstraktissa luokassa Figure tee abstraktit menetelmät pinta-alan ja kehän saamiseksi.

Lapsiluokissa Square ja Rectangle kirjoita näiden menetelmien toteutus.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää