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 `hello, ${this.name}!`;
}
}
IMath интерфейсини яратинг, унда
num1 ва num2 хусусиятлари
ва getDiv метода бўлсин, у биринчи
сонни иккинчи сонга бўлади.
IMath интерфейсини амалга оширадиган
Math классни ясангиз.