الوراثة والواجهات في TypeScript: الاستخدام والفوائد

الوراثة والواجهات مفهومان مهمان في 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. يلعبون أدوارًا حاسمة في تطوير التطبيقات ، وتعزيز إعادة استخدام الكود ، والمرونة ، والالتزام بالعقود المحددة.