Il-wirt u l-interfaces huma żewġ kunċetti importanti fi TypeScript
, u għandhom rwol importanti fl-iżvilupp tal-applikazzjoni. Hawnhekk hawn diskussjoni dwar dawn il-kunċetti u l-użi u l-benefiċċji tagħhom fl-iżvilupp tal-applikazzjoni:
Wirt
Il-wirt in TypeScript
jippermetti li sottoklassi tirret proprjetajiet u metodi minn superklassi. Is-subklassi tista' testendi u ttejjeb il-karatteristiċi eżistenti tas-superklassi.
Biex nużaw il-wirt, nużaw il- extends
kelma prinċipali biex niddikjaraw li subklassi tirret minn superklassi.
Pereżempju:
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
eat() {
console.log(this.name + " is eating.");
}
}
class Dog extends Animal {
bark() {
console.log(this.name + " is barking.");
}
}
const dog = new Dog("Buddy");
dog.eat(); // Output: "Buddy is eating."
dog.bark(); // Output: "Buddy is barking."
Fl-eżempju ta 'hawn fuq, il- Dog
klassi tirret mill- Animal
klassi u testendiha billi żżid il- bark()
metodu. Il- Dog
klassi tista' tuża l- eat()
metodu li ntirtet mill- Animal
klassi.
Interfaces
Interfaces TypeScript
jiddefinixxu sett ta 'proprjetajiet u metodi li oġġett għandu jaderixxi magħhom. Huma jispeċifikaw kuntratt għal oġġetti li għandhom karatteristiċi komuni.
Biex nużaw interfaces, nużaw il- interface
kelma prinċipali biex niddikjaraw interface.
Pereżempju:
interface Shape {
calculateArea(): number;
}
class Circle implements Shape {
radius: number;
constructor(radius: number) {
this.radius = radius;
}
calculateArea() {
return Math.PI * this.radius * this.radius;
}
}
const circle = new Circle(5);
console.log(circle.calculateArea()); // Output: 78.53981633974483
Fl-eżempju ta 'hawn fuq, l- Shape
interface jiddefinixxi calculateArea()
metodu li kull oġġett għandu jaderixxi miegħu. Il- Circle
klassi timplimenta l- Shape
interface u tipprovdi implimentazzjoni għall- calculateArea()
metodu.
Benefiċċji tal-wirt u l-interfaces fl-iżvilupp tal-applikazzjoni:
- Il-wirt jiffaċilita l-użu mill-ġdid tal-kodiċi u jnaqqas id-duplikazzjoni. Meta sottoklassi tirret minn superklassi, tista' terġa' tuża l-proprjetajiet u l-metodi diġà implimentati fis-superklassi.
- L-interfaces jiddefinixxu l-kuntratti u jinfurzaw l-aderenza mal-interface speċifikata, u jiżguraw li l-oġġetti jissodisfaw il-kriterji meħtieġa. Huma jistabbilixxu struttura komuni għall-iżvilupp u l-użu ta 'oġġetti.
- Kemm il-wirt kif ukoll l-interfaces jikkontribwixxu għall-flessibbiltà fid-disinn u l-iżvilupp tal-applikazzjoni, li jippermettu kunċetti bħall-polimorfiżmu u l-użu mill-ġdid tal-kodiċi.
Fil-qosor, il-wirt u l-interfaces huma kunċetti importanti fil- TypeScript
. Huma għandhom rwoli kruċjali fl-iżvilupp tal-applikazzjoni, jippromwovu l-użu mill-ġdid tal-kodiċi, il-flessibbiltà, u l-aderenza ma 'kuntratti speċifikati.