إعادة التعريف ودالة المساحة
جزء من قسم Object Oriented Programming في رحلة JavaScript على Coddy — الدرس 41 من 56.
التحدي
قم بتحسين فئة Circle عن طريق تجاوز طريقة describe() وإضافة طريقة calculateArea() جديدة.
مهمتك:
تجاوز طريقة
<strong>describe()</strong>لإرجاع${super.describe()} (Circle with radius ${this.radius}).مثال: "A blue shape (Circle with radius 10)"
- أضف طريقة
<strong>calculateArea()</strong>تقوم بما يلي:- تحسب المساحة باستخدام الصيغة:
Math.PI * this.radius * this.radius تُرجع المساحة المحسوبة (لا حاجة لاستخدام console.log)
*هذه طريقة خاصة بـ Circle (ليست موجودة في فئة Shape الأب)
- تحسب المساحة باستخدام الصيغة:
جرّب بنفسك
import { Shape } from './Shape.js';
import { Circle } from './Circle.js';
// اختبارات
const basicShape = new Shape('red');
console.log(basicShape.describe()); // "A red shape"
const myCircle = new Circle('blue', 10);
console.log(myCircle.describe()); // يجب أن تكون النتيجة: "A blue shape (Circle with radius 10)"
console.log(myCircle.calculateArea()); // يجب أن تكون النتيجة: "314.1592653589793"جميع دروس Object Oriented Programming
1الكائنات والكلمة المفتاحية this
مراجعة سريعة: الكائناتإضافة Methods إلى الكائناتفهم الكلمة المفتاحية thisConstructor Functionsالكلمة المفتاحية newتحدي المراجعة7الوراثة والكلمة المفتاحية extends
الوراثةعلاقة "is-a"الكلمة المفتاحية extendsالدالة super()وراثة الخصائص والوظائفتحدي المراجعة2تنظيم الكود
ما هي الـ Modules؟التصدير باستخدام exportالاستيراد باستخدام importالـ Default مقابل الـ Named Exports8تنظيم كود OOP
تنظيم الـ Classes في Modules11مشروع: مصيّر الأشكال
إعداد: فئة Shape والتصديروراثة فئة Circle