هل واجهة TypeScript هي نفسها الهيكل Struct في C؟
حسب ما أفهم، يمكن أن تحتوي واجهات TypeScript على خواص فقط، وليس على طرق. بالقدوم من C++، هذا يجعلها تبدو أكثر مثل هيكليات C العادية من واجهات C++، التي عادةً تحتوي على طرق بدون تنفيذ ولا تحتوي على أعضاء بيانات.
هل من الصحيح اعتبار واجهات TypeScript مثل هياكل البيانات القديمة؟ الاختلاف الوحيد الذي أراه هو أن الأعضاء أنفسهم يمكن أن يكونوا "كائنات" لها أساليبها الخاصة.
الإجابة رقم 1
لا، ليس من الصحيح القول إنهم لا يمكن أن يكون لديهم طرق.
يمكنهم تعريف طرق ليتم تنفيذها بواسطة أي فئة تقوم بتنفيذ الواجهة بنفس الطريقة التي تستخدم بها الواجهات في لغات أخرى، مثل:
export interface IStudent {
Name: string;
IsEnrolled: boolean;
Enroll();
}
export class Student implements IStudent {
Name: string;
IsEnrolled: boolean;
Enroll() {
this.IsEnrolled = true;
}
}
