⊗tsSpOpAMt 18 of 37 menu

Metodi astratti in OOP in TypeScript

Succede che le classi figlie devono avere un metodo comune, tuttavia, l'implementazione di questo metodo dipende dal figlio specifico. In questo caso, questo metodo può essere dichiarato nella classe astratta genitore, senza scriverne l'implementazione. E poi i figli saranno obbligati a implementare questi metodi. Tali metodi sono chiamati metodi astratti e sono anche dichiarati utilizzando la parola chiave abstract.

Prendiamo come esempio la nostra classe astratta User. Supponiamo che le classi che ereditano da questa classe debbano obbligatoriamente avere un metodo show, che visualizza i dati dell'oggetto.

L'implementazione di questo metodo, tuttavia, dipenderà dalla classe figlia. Dichiriamo questo metodo come astratto nella classe User:

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

Implementiamo questo metodo nella classe figlia Student:

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

Implementiamo questo metodo nella classe figlia Employee:

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

Nella classe astratta Figure create metodi astratti per ottenere l'area e il perimetro.

Nelle classi figlie Square e Rectangle scrivete l'implementazione di questi metodi.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta