البرمجة

فهم أساسيات الأصناف في جافاسكربت: توريث واستاتيكيات وخصائص

في عالم تطوير الويب، تعتبر جافاسكربت (JavaScript) أحد أهم اللغات التي يستخدمها المطورون لإضافة تفاعلية وديناميكية إلى صفحات الويب. إذا كنت ترغب في فهم الأصناف الأساسية في جافاسكربت، فإن استكشاف بنية الكلاس (Class) وطريقة كتابة النص الأساسي لها يعد أمرًا مهمًا.

لبداية، يمكنك إنشاء صنف جديد باستخدام الكلمة الرئيسية class، ومن ثم تحديد اسم الصنف. على سبيل المثال، لنفترض أننا نريد إنشاء صنف بسيط لتمثيل كائن “شخص”، يمكننا كتابة الكود التالي:

javascript
class Person { // متغيرات الصنف (properties) constructor(name, age) { // الدالة المنشئة (constructor) لتهيئة الكائن this.name = name; this.age = age; } // الدوال (methods) greet() { return `مرحبًا، أنا ${this.name} وعمري ${this.age} سنة.`; } } // إنشاء كائن جديد من الصنف const person1 = new Person("أحمد", 25); // استخدام الدوال والمتغيرات console.log(person1.greet()); // سيطبع: "مرحبًا، أنا أحمد وعمري 25 سنة."

في هذا المثال، قمنا بتعريف صنف يسمى Person يحتوي على متغيرات (name و age) ودالة منشئة (constructor) لتهيئة الكائن عند إنشاءه. كما قمنا بإضافة دالة (greet) تقوم بإرجاع رسالة تحتوي على معلومات الشخص.

يمكنك أيضًا إضافة المزيد من الدوال والمتغيرات حسب حاجتك. يعتبر فهم الأصناف في جافاسكربت جزءًا أساسيًا لفهم كيفية بناء التطبيقات والتفاعل مع العناصر على صفحات الويب. استمتع باستكشاف مزيد من المفاهيم والتقنيات المتقدمة لتعزيز فهمك للغة جافاسكربت واستفد من إمكانياتها الواسعة.

المزيد من المعلومات

بالطبع، دعنا نعزز فهمك للأصناف في جافاسكربت بمزيد من المعلومات.

1. الوراثة (Inheritance):

الوراثة هي ميزة رئيسية في الأصناف، حيث يمكنك إنشاء صنف جديد يرث الخصائص والدوال من صنف آخر. لديك القدرة على استخدام كلمة extends لتحقيق الوراثة. في هذا المثال، سنقوم بإنشاء صنف جديد يرث من Person:

javascript
class Student extends Person { constructor(name, age, grade) { super(name, age); // استدعاء constructor من الصنف الأم (Person) this.grade = grade; } study() { return `${this.name} يدرس في الصف ${this.grade}.`; } } const student1 = new Student("سارة", 20, 12); console.log(student1.greet()); // سيطبع: "مرحبًا، أنا سارة وعمري 20 سنة." console.log(student1.study()); // سيطبع: "سارة يدرس في الصف 12."

2. الكلمة الرئيسية super:

super تستخدم لاستدعاء الدوال والخصائص من الصنف الأم (الصنف الذي يتم التوريث منه). في المثال أعلاه، استخدمنا super(name, age) لاستدعاء constructor من الصنف Person لضمان تهيئة المتغيرات name و age.

3. الطرق الاستاتيكية (Static Methods):

يمكنك أيضًا إضافة دوال استاتيكية إلى الأصناف، والتي تكون متاحة على مستوى الصنف نفسه بدلاً من كائنات الصنف. في المثال التالي، سنقوم بإضافة دالة استاتيكية لحساب متوسط الأعمار:

javascript
class Utility { static calculateAverageAge(people) { const totalAge = people.reduce((sum, person) => sum + person.age, 0); return totalAge / people.length; } } const person2 = new Person("جون", 30); const person3 = new Person("ليلى", 28); const averageAge = Utility.calculateAverageAge([person1, person2, person3]); console.log(`متوسط الأعمار هو ${averageAge} سنة.`);

4. الخصائص الخاصة (Getters and Setters):

يمكنك استخدام الكلمات الرئيسية get و set لإنشاء خصائص (properties) يمكن الوصول إليها وتعديلها. في المثال التالي، سنقوم بإضافة خاصية birthYear:

javascript
class Person { constructor(name, age) { this.name = name; this._age = age; // خصوصية تبدأ بشرطة سفلية تعبر عن أنها خاصة (convention) } get age() { return this._age; } set age(newAge) { if (newAge > 0) { this._age = newAge; } else { console.error("العمر يجب أن يكون أكبر من صفر."); } } } const person4 = new Person("مريم", 25); console.log(person4.age); // سيطبع: 25 person4.age = 26; // سيقوم بتعديل العمر console.log(person4.age); // سيطبع: 26 person4.age = -1; // سيظهر خطأ في السجل

تلك هي بعض المفاهيم الأساسية في استخدام الأصناف في جافاسكربت. تذكر أن هذه مقدمة، ويمكنك استكشاف المزيد من المفاهيم المتقدمة وتقنيات البرمجة الكائنية في جافاسكربت لتعزيز قدراتك كمطور ويب.

زر الذهاب إلى الأعلى