الوراثة والواجهات مفهومان مهمان في TypeScript
، ويلعبان دورًا مهمًا في تطوير التطبيقات. فيما يلي مناقشة لهذه المفاهيم واستخداماتها وفوائدها في تطوير التطبيقات:
ميراث
يسمح الوراثة في TypeScript
الطبقة الفرعية أن ترث الخصائص والطرق من الطبقة العليا. يمكن للفئة الفرعية أن توسع وتعزز الميزات الحالية للفئة الفائقة.
لاستخدام الميراث ، نستخدم الكلمة extends
الأساسية للإعلان أن فئة فرعية ترث من فئة فائقة.
على سبيل المثال:
class Animal {
name: string;
constructor(name: string) {
this.name = name;
}
eat() {
console.log(this.name + " is eating.");
}
}
class Dog extends Animal {
bark() {
console.log(this.name + " is barking.");
}
}
const dog = new Dog("Buddy");
dog.eat(); // Output: "Buddy is eating."
dog.bark(); // Output: "Buddy is barking."
في المثال أعلاه ، Dog
ترث الفئة من Animal
الفئة وتوسعها بإضافة bark()
الطريقة. يمكن للفصل Dog
استخدام eat()
الطريقة الموروثة من Animal
الفصل.
واجهات
تحدد الواجهات في TypeScript
مجموعة من الخصائص والطرق التي يجب أن يلتزم بها الكائن. إنها تحدد عقدًا للكائنات التي تشترك في ميزات مشتركة.
لاستخدام الواجهات ، نستخدم interface
الكلمة الأساسية للإعلان عن واجهة.
على سبيل المثال:
interface Shape {
calculateArea(): number;
}
class Circle implements Shape {
radius: number;
constructor(radius: number) {
this.radius = radius;
}
calculateArea() {
return Math.PI * this.radius * this.radius;
}
}
const circle = new Circle(5);
console.log(circle.calculateArea()); // Output: 78.53981633974483
في المثال أعلاه ، Shape
تحدد الواجهة calculateArea()
طريقة يجب على كل كائن الالتزام بها. يقوم الفصل Circle
بتنفيذ Shape
الواجهة ويوفر تنفيذًا للطريقة calculateArea()
.
فوائد الوراثة والواجهات في تطوير التطبيقات:
- الوراثة تسهل إعادة استخدام الكود وتقلل من الازدواجية. عندما ترث فئة فرعية من فئة فائقة ، يمكنها إعادة استخدام الخصائص والطرق التي تم تنفيذها بالفعل في الطبقة الفائقة.
- تحدد الواجهات العقود وتفرض الالتزام بالواجهة المحددة ، مما يضمن تلبية الكائنات للمعايير المطلوبة. ينشئون بنية مشتركة لتطوير واستخدام الأشياء.
- يساهم كل من الوراثة والواجهات في المرونة في التصميم وتطوير التطبيقات ، مما يتيح مفاهيم مثل تعدد الأشكال وإعادة استخدام الكود.
باختصار ، تعتبر الوراثة والواجهات مفاهيم مهمة في TypeScript
. يلعبون أدوارًا حاسمة في تطوير التطبيقات ، وتعزيز إعادة استخدام الكود ، والمرونة ، والالتزام بالعقود المحددة.