< TypeScript

TypeScript interfész

Szerző: Sallai András

Copyright © Sallai András, 2021, 2022, 2023

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

Interfész

Interfész típusként használjuk, csak adattagok vannak.

interface Dolgozo { name: string; city: string; } /*Létrehozunk egy janos nevű objektumot, ami Dolgozo típusú: */ let janos : Dolgozo; //Az adattagoknak értéket adunk: janos = { name: 'névtelen', city: 'ismeretlen' } console.log(janos.name);

Megvalósítás

A következő példában az interfészben elvont metódust hozunk létre, amit egy osztályban megvalósítunk.

//iDolgozo interfész: interface iDolgozo { getName(): string; } /*A Dolgozo osztály megvalósítja a iDolgozo interfészt: */ class Dolgozo implements iDolgozo { name = "névtelen"; getName(): string { return this.name; } } let janos = new Dolgozo(); console.log(janos.getName());

emelFizetes() metódus

Adattagok és metódusok keverése:

interface Dolgozo { nev: string; fizetes: number; emelFizetes(mertek: number):void; } /* A CegesDolgozo osztály megvalósítja a Dolgozo interfészt: */ class CegesDolgozo implements Dolgozo { nev: string; fizetes: number; constructor() { this.nev = 'névtelen'; this.fizetes = 0; } emelFizetes(mertek: number): void { this.fizetes += mertek; } } var janos = new CegesDolgozo(); janos.nev = "Park János"; console.log(janos.nev);

Beállító, lekérdező

interface Dolgozo { nev: string; fizetes: number; lekerFizetes(): number; beallitFizetes(fizetes:number):void; } class CegesDolgozo implements Dolgozo { nev: string; fizetes: number; constructor() { this.nev = 'névtelen'; this.fizetes = 0; } lekerFizetes(): number { return this.fizetes; } beallitFizetes(fizetes: number): void { this.fizetes = fizetes; } } var janos = new CegesDolgozo(); janos.beallitFizetes(300); console.log(janos.lekerFizetes());