ინტერფეისები OOP კლასებისთვის TypeScript-ში

ინტერფეისები TypeScript-ში ფართოდ გამოიყენება როგორც შაბლონები ასევე კლასებისთვის. იმისათვის, რომ კლასს დავუმატოთ სასურველი ინტერფეისი, კლასის სახელის შემდეგ იწერება საკვანძო სიტყვა implements და შემდეგ ინტერფეისის სახელი.

ამ შემთხვევაში, ინტერფეისები აღწერენ მხოლოდ კლასის საჯარო თვისებებსა და მეთოდებს. პრივატული ნაწილი განსაზღვრულია თავად კლასში და ინტერფეისში არ არის აღწერილი.

შევეცადოთ პრაქტიკაში. დავუშვათ, გვაქვს შემდეგი ინტერფეისი, რომელიც განსაზღვრავს თვისებას და მეთოდს:

typescriptinterface IUser {
  name: string;
  greet(): string;
}

შევქმნათ კლასი, რომელიც ახორციელებს ამ ინტერფეისს. ამ კლასში უნდა გვქონდეს რეალიზებული თვისება name და მეთოდი greet:

typescriptclass User implements IUser {
  name: string;
  
  constructor(name: string) {
    this.name = name;
  }
  
  greet() {
    return `გამარჯობა, ${this.name}!`;
  }
}
Задание 1

შექმენით ინტერფეისი IMath თვისებებით num1 და num2 და მეთოდით getDiv, რომელიც პირველ რიცხვს გაყოფს მეორეზე.

Задание 2

შექმენით კლასი Math, რომელიც ახორციელებს ინტერფეისს IMath.