Επέκταση Διεπαφών στην Αντικειμενοστραφή Προγραμματισμό στο TypeScript
Οι διεπαφές στο TypeScript μπορούν να κληρονομήσουν
η μία από την άλλη. Αυτή η αλληλεπίδραση
ονομάζεται επέκταση διεπαφών.
Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι έχουμε
μια διεπαφή ISize:
interface ISize {
height: number;
width: number;
}
Ας φτιάξουμε τη διεπαφή IStyle, η οποία
θα επεκτείνει την ISize:
interface IStyle extends ISize {
color: string;
}
Τώρα ας δημιουργήσουμε μια κλάση Figure,
που υλοποιεί τη διεπαφή IStyle. Η
κλάση μας θα πρέπει να υλοποιήσει τόσο την ιδιότητα
της ίδιας της διεπαφής, όσο και του γονέα της.
Ας το κάνουμε:
class Figure implements IStyle {
height: number;
width: number;
color: string;
constructor(height: number, width: number, color: string) {
this.height = height;
this.width = width;
this.color = color;
}
}
Ας ελέγξουμε τη λειτουργία:
let fig = new Figure(130, 200, 'green');
console.log(fig);
Δημιουργήστε μια διεπαφή IProgrammer με
ιδιότητες salary και language.
Αφήστε αυτήν τη διεπαφή να κληρονομήσει την IUser
με ιδιότητες name, birthday.
Φτιάξτε την κλάση Employee, η οποία
υλοποιεί την IProgrammer.