Header Ads

إنشاء كائنك الخاص



يعتبر استخدام الكائنات مفيداً جداً لتنظيم معلوماتك .



كائنات الجافاسكربت JavaScript


وجدنا في دروس سابقة بأن الجافاسكربت تحتوي على كائنات معرّفة مسبقاً مثل النصوص و التاريخ و المصفوفات و المزيد . بالإضافة الى الكائنات المعرّفة مسبقاً . و بذلك يمكنك أيضاً إنشاء كائنات خاصة بك .

الكائن هو نوع خاص من البيانات حيث يحتوي على خصائص وطرق .

لنتخيل المثال التالي : لدينا شخص معين ويعتبر كائن , هذا الكائن لديه خصائص معينة . يتم تعيين قيم معينة لتلك الخصائص مثل الاسم و الطول و العرض و العمر و لون العيون و غيرها . جميع الأشخاص لديهم خصائص الا أن هذه الخصائص تختلف من شخص لآخر . تحتوي أيضاً الخصائص على طرق . تلك الطرق هي الأفعال التي تشكل الكائن . ان طرق الشخص هي الأكل eat() والنوم sleep() و العمل work() و اللعب play() .. إلخ .

الخصائص

ان تركيبة الخصائص التي يمكن أن تستدعي بها خصائص الكائن هي اسم الكائن ثم اسم الخصيصة .
objName.propName
 

يمكن إضافة خصائص معينة لكائن فقط بإضافة قيمة . وبافتراض أن personObj ( اسم الكائن ) موجود من قبل فيمكن إضافة اسم الكائن نفسه ثم خصيصة مختلفة مثل الاسم الأول ثم الاسم الثاني و العمر و لون العيون كالتالي :
personObj.firstname="سامي";
personObj.lastname="يوسف";
personObj.age=30;
personObj.eyecolor="بني";
document.write(personObj.firstname);


ستظهر النتيجة

سامي
 




الطرق


يحتوي الكائن أيضاً على طرق مختلفة .

يمكنك استدعاء الطريقة من خلال التركيبة التالية :
objName.methodName()
 

ملاحظة : ان أردت ادراج قيمة معينة للطريقة فيمكن ذلك من خلال وضع القيمة بين القوسين () .

لاستدعاء الطريقة sleep() للكائن personObj كالتالي :
personObj.sleep();
 



إنشاء الكائن الخاص بك


هناك طرق عديدة لإنشاء كائن جديد :

1. إنشاء كائن جديد مباشر


يمكن إنشاء كائن جديد مباشرةً وإضافة خصائص اليه :
personObj=new Object();
personObj.firstname="سامي";
personObj.lastname="يوسف";
personObj.age=50;
personObj.eyecolor="أزرق";
 

استخدام تركيبة بديلة 

personObj={firstname:"سامي",lastname:"يوسف",age:50,eyecolor:"أزرق"};
 

يمكن إضافة أيضاً طرق للكائن personObj بسهولة . يضيف الكود التالي طريقة تسمى eat() الى الكائن personObj .
personObj.eat=eat;
 




2. إنشاء كائن منتظم


يمكن إنشاء كود وظيفي والذي بدوره ينظم الكائن .
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
 

يجب تعيين بداخل الكود الوظيفي أشياء الى this.propertyName . ان سبب استخدام "this" لأنك تريد استخدام أكثر من شخص بنفس الوقت .

عند إنشاء الكائن المنتظم , يمكنك إنشاء أمثلة جديدة للكائن مثل "this" .
var myFather=new person("سامي","يوسف",50,"أزرق");
var myMother=new person("سلمى","الأحمد",48,"أخضر");
 

يمكنك أيضاً إضافة طرق جديدة للكائن object . كما يمكن فعل ذلك داخل الكود الوظيفي :
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
this.newlastname=newlastname;
}
 

لاحظ بأن الطرق هي عبارة أن وظائف مرفقة مع الكائن . الآن سيتوجب علسنا كتابة الكود newlastname() :
function newlastname(new_lastname)
{
this.lastname=new_lastname;
}
 

يعرّف الكود الوظيفي newlastname() كنية الشخص و إرفاقه الى كائن الشخص person .

تعلم لغة الجافاسكربت أي شخص تريد ادارج الكنية اليه وذلك باستخدام "this." ولذلك يمكنك كتابة الكود الآن myMother.newlastname("Ali") .

يتم التشغيل بواسطة Blogger.