<لغة البرمجة = "جافا سكريبت">
دائرة الوظيفة (نصف القطر)
{// تحدد هذه الوظيفة الفئة نفسها. r التالي هو متغير مثيل تم تعريفه وتهيئته بواسطة المُنشئ.
this.r=radius;
}
// هذه السمة هي متغير فئة، وهي سمة من سمات المنشئ
Circle.PI=3.14159;
منطقة الوظيفة ()
{// هذه بالطبع صيغة حساب مساحة الدائرة.
إرجاع this.PI * this.r * this.r;
}
// أدناه نجعلها طريقة مثيل عن طريق تعيين الوظيفة للكائن الدائري للمنشئ.
// لكي نكون متوافقين مع Navigator3، يجب علينا إنشاء كائن وتجاهله قبل إنشاء كائن النموذج الأولي
newcircel(0);
Circle.prototype.area=area;
// فيما يلي وظيفة أخرى تقارن بين معلمتين وترجع المعلمة الأكبر
functioncircel_max(أ،ب)
{
إذا (ع > ر)
العودة أ؛
آخر
العودة ب؛
}
// نظرًا لأن هذه الوظيفة تقارن بين كائنين، فليس من المنطقي معاملتها كعملية على طريقة مثيل Circel واحدة.
// ولكننا لا نريد أن نصبح وظيفة مستقلة، لذلك نخصص لها مُنشئًا ونجعلها طريقة فئة.
circel.max=circel_max;
// يستخدم الكود التالي مجالات مختلفة من الدائرة
var c=new circel(1.0); // أنشئ مثيلًا لفئة circel
cr=2.2; // قم بتعيين متغير r للمثيل
var a=c.area(); // اتصل بطريقة المنطقة الخاصة بالمثيل
var x=Math.exp(circel.PI); // استخدم المتغير PI في حساباتنا
var d=new circel(1.2); // أنشئ نسخة دائرة أخرى
var big=circel.max(c,d);// استخدم طريقة الفصل circel.max
</script>
ملف JScript.js
/**//* ملف JScript الرقم المركب هو مجموع رقم وهمي ورقم وهمي i هو الجذر التربيعي لـ -1
*/
/**//*الخطوة الأولى في تعريف الفئة هي تحديد مُنشئ الفئة. يقوم المنشئ المؤهل بتهيئة جميع وظائف مثيل الكائن فئة للتفاعل مع بعضها البعض ليست هي نفسها
*/
الدالة JScript (حقيقية، img)
{
this.x=real;// الجزء الحقيقي
this.y=img;// الجزء التخيلي
}
/**//*الخطوة الثانية في تعريف فئة الوظيفة هي تحديد طريقة المثيل الخاصة بها (أو السمات الأخرى) في كائن النموذج الأولي للمنشئ
سيتم توريث أي خصائص محددة بواسطة هذا الكائن من خلال كافة مثيلات هذه الفئة. لاحظ أن طرق المثيل تعمل ضمنيًا على الكلمة الأساسية هذه.
*/
// إرجاع حجم الرقم المركب، والذي يتم تعريفه على أنه المسافة من الأصل (0،0) إلى المستوى المركب
JScript.prototype.magnitude=function()
{
return Math.sqrt(this.x * this.x + this.y * this.y);
};
// إرجاع عكس الرقم المركب
JScript.prototype.negative=function()
{
إرجاع JScript جديد(-this.x,-this.y);
};
// تحويل كائن JScript إلى سلسلة بطريقة فعالة. ستكون هذه هي الوظيفة التي يتم استدعاؤها عند استخدام كائن JScript كسلسلة.
JScript.prototype.toString=function()
{
إرجاع "{"+ this.x +"،"+ this.y +"}";
};
// تُرجع الجزء الحقيقي من رقم مركب. يتم استدعاء هذه الوظيفة عند معالجة كائن JScript كقيمة أولية.
JScript.prototype.valueOf=function() {return this.x;};
/**//*الخطوة الثالثة في تعريف الفئة هي تحديد أساليب الفئة.
الثوابت ومتغيرات الفئة الأخرى هي خصائص منشئ الوظيفة نفسه (بدلاً من خصائص كائن النموذج الأولي للمنشئ)
لاحظ أن الطرق الثابتة لا تستخدم الكلمة الأساسية هذه لأنها تعمل فقط على المعلمات
*/
// احسب مجموع رقمين مركبين وأرجع النتيجة
JScript.add()=وظيفة(أ،ب)
{
إرجاع JScript جديد (ax + bx ,ay + by);
};
// اطرح رقمًا مركبًا من رقم مركب آخر وأرجع النتيجة
JScript.subtract()=وظيفة(أ،ب)
{
إرجاع JScript جديد (ax - bx، ay - by)؛
};
// احسب حاصل ضرب رقمين مركبين وأرجع النتيجة
JScript.multiply()=الوظيفة(أ،ب)
{
إرجاع JScript جديد (ax * bx - ay * by , ax * bx + xy * by);
};
/**//* فيما يلي بعض صيغ الجمع المحددة مسبقًا والتي تم تعريفها كمتغيرات فئة بحيث يمكن استخدامها كثوابت (لاحظ أنها ليست في الواقع للقراءة فقط).
*/
JScript.zero=new JScript(0,0);
JScript.one=new JScript(1.0);
JScript.i=new JScript(0.1);