درس عن oop:ماهو Constructors
الكاتب: Mr.Aziz
تاريخ النشر: 2023-03-14 05:04:29
مساء الخير الجميع
اليوم راح نتكلم عن دالة خاصة او Function خاص في الكلاس يسمى Constructors
ماهو Constructors مثل ماقلت هي دالة خاصة يتم استدعاءة بشكل تلقائي عند كتابة object
هو لايستخدم ألا public و ايضآ ممكن أن يكون بدون parameter او مع parameter لامشكلة
المهم كيف طريقة تشغيلة
لازم يكون بنفس أسم الكلاس بضبط
مثلآ اسم كلاس
class myCar{}
لازم يكون اسم الدالة myCar مثل اسم الكلاس بضبط.
تعالو نطبق مع بعض..
زي ماوضحت هنا أسم كلاس هو myclass تمام!
ثم كتبنا public لانه constructor لايقبل الا public
بعد كذا كتبنا فقط اسم كلاس مع قوسين زي ماهو موضح
myclass() {
}
بعد كذا نكتب داخل القوس مثلآ hello world
زي ماقلت أول مانكتب object يتم استدعاءه
نكتبobject بهذي طريقة .
زي ماتلاحظون هنا فقط
كتبت اسم الكلاس ثم object أو المتغير بأسم myobj كا object
بعد تشغيل الكود طلع لنا الطباعة التي تم كتابتها في constructor كاأفتراضي!!
طيب هل بأمكاننا نعمل زي كذا بس مع paramenter ؟ وكيف!
ايه تقدر كل الى عليك تعمل paramenter ولكن قبل لازم تحط متغيرات عشان يتم تمرير القيمة
اقصد مثل كذا
زي ماتلاحظون فوق
كتبت تحت public متغيرتين
واحد name و ثاني age تمام
ثم وضعت في parameter متغيرتين تبعها
وداخل constructor يكون هكذا
name = n
age = A
ليه؟
لانه في حال تم ادخال القيمة من main يتم تمريرها الى parameter ثم على المتغيرات نفسها التي متواجده في الكلاس الى هم name و age;
طيب كيف يتم كتابتها هل نترك object زي ماسوينا؟.
لا. نسوي لها parameter زي ماسوينا في construtor و هذا بيكون قيمة التي نضع فيها
هنا مثال
بيكون زي كذا بضبط ليه عشان المتغير name راح يتم تخزين فيه القيمة Aziz
و المتغير Age راح يتم تخزين فيه 20
طيب خلينا نسوي طباعة على المتغير name و age نشوف وش يصير!
زي ماتلاحظون هنا
كتبت اسم object هو myobj بعد كذا نقطة وبعدها المتغير التي متواجد في الكلاس Name
مفترض يكون كذا
myobj.Name هنا سيظهر القيمة التي تم حفظ فيها
في حال ماوضحت الفكرة او فكرة ماوصلت
هنا ترقيم
1- يتم ادخال القيمة في object
2- يتم استقبال القيمة من object الى المتغيرات التي متواجدة في parameters تبع constructor
3- هذي متغيرات راح ترسل من المتغيرات الى المتغيرات الى متواجدة في الكلاس هم name و age
4- يتم وصول القيم الى المتغيرات التي متواجدة بالكلاس هنا محطة الاخيرة.
عشان كذا قدرنا نطبع هذي متغيرات بدون اي مشاكل.
قبل الاخير
بامكانكم كتابة constructor في خارج الكلاس مثل ماكتبنا بالدرس السابق
تكون هذي طريقة
زي ماهو واضح هنا
كتبنا أول شي تعريف الدالة في الكلاس تمام
عشان تصبح تابع الكلاس
ثم نروح للخارج الكلاس
ونكتب بهذي طريقة اسم الكلاس ثم اسم constructor
myclass::myclass()
بهذي طريقة
نفس الدرس السابق تمامآ ولكن هالمره هو constructor
وكذا انتهينا
أشوفكم بالدرس القادم