ინტერფეისები OOP კლასებისთვის TypeScript-ში
ინტერფეისები TypeScript-ში ფართოდ გამოიყენება
როგორც შაბლონები ასევე კლასებისთვის. იმისათვის,
რომ კლასს დავუმატოთ სასურველი ინტერფეისი,
კლასის სახელის შემდეგ იწერება საკვანძო სიტყვა
implements და შემდეგ ინტერფეისის სახელი.
ამ შემთხვევაში, ინტერფეისები აღწერენ მხოლოდ კლასის საჯარო თვისებებსა და მეთოდებს. პრივატული ნაწილი განსაზღვრულია თავად კლასში და ინტერფეისში არ არის აღწერილი.
შევეცადოთ პრაქტიკაში. დავუშვათ, გვაქვს შემდეგი ინტერფეისი, რომელიც განსაზღვრავს თვისებას და მეთოდს:
interface IUser {
name: string;
greet(): string;
}
შევქმნათ კლასი, რომელიც ახორციელებს ამ ინტერფეისს.
ამ კლასში უნდა გვქონდეს რეალიზებული
თვისება name და მეთოდი greet:
class User implements IUser {
name: string;
constructor(name: string) {
this.name = name;
}
greet() {
return `გამარჯობა, ${this.name}!`;
}
}
შექმენით ინტერფეისი IMath თვისებებით
num1 და num2 და მეთოდით
getDiv, რომელიც პირველ
რიცხვს გაყოფს მეორეზე.
შექმენით კლასი Math, რომელიც ახორციელებს
ინტერფეისს IMath.