Java Constructors oop part 3

الكاتب: Mr.Aziz

تاريخ النشر: 2022-03-31 13:48:55

مساء الخير 

 

اليوم راح نتكلم شوي عن Constructors و ليش مهم و ايش هو بضبط ؟

 

طبعآ Constructors هذي ميثود خاص الأنشاء متغير داخل Constructor و كذا نستطيع نضع فقط القيمة في main عشان يطلع لنا النتيجة الى احنا نبغاها

 

طيب كيف ياعبدالعزيز؟ 

انا بشرح لكم 

 

شفتو المكان هذا بين قوسين المؤشر عليه او مضلل بالازرق!!

هذا المكان ممكن نضع فيه القيم عشان يطلع لنا الناتج اذا كان مع Constructor ميثود

 

بس خلينا نجرب الان بدونه 

ايش تتوقع النتيجة لو حاولنا نحط الرقم و نطبعها و نعاملها كأنها ميثود  وله بارميتر ؟

 

شوفو النتيجة 

 

 

مثل ماهي واضحة!!

 

طلع لي خطأ بسبب عدم وجود Constructor الى ياخذ قيمة من قوسين و يعاملها كأنه متغير موجود اصلآ 


 

لهذا السبب وجود Constructors عشان يعامل متغيرات كأنها موجوده و كل الى عليك فقط تضع قيمة 

 

كيف نعملها؟ ماهي 

 

مثل ماقلت هي ميثود خاص و لازم يكون بنفس الاسم كلاس تابع لها 

 

مثلآ اسم كلاس myclass لازم يكون Constructor نفس الاسم بضضبط myclass

 

كيف ننشأها؟

 

يكون داخل كلاس نفسه نكتب كذا 

 

Public myclass(){

//here variables

}

 

مثل ماتلاحظون معاي كتبنا فقط متغير و مع القيمة للتجربة 

 

والان ضبطت كييف؟ طيب بارميتر وش صار عليه؟

 

لحظة اشرح لك!

 

هذي فقط تجربة و ظهرت لاني عملت قيمة داخل Constructor و صار أفتراضية  المتغير هذي اصبحت 4 


 

هل نقدر نغير القيمة ؟ ايه عادي نقدر طلما اننا لم نضع final 

 

طيب البارميتر كيف بيكون؟

 

أول شي نعمل متغير في بارميتر حق Constructor ليش عشان اي رقم نضعه في بارميتر في المين يستقبلها هذا براميتر 

 

اقصد كذا 

 

 

 

1- يتم استقبال قيمة من بارميتر في المين لما نضع القيمة 

2- يتم تثبيت القيمة داخل المتغير y 

3- بعد كذا x تصبح بها قيمة التي تم تمريرها من قبل y

 

وبس هذي عمل Constructor

 

 

هنا توضيح طريقة انشاءها 

 

طيب خلونا نسوي شي ثاني تمام 

 

نكتب نوع السياره و موديلها و نخلي بارميتر الى بالمين هو يستقبل القيم !! 

 

أول شي راح اكتب بالكلاس متغيرتين واحد اسم و ثاني رقم 

 

Int modelYear;

String modelName;

 

مثل كذا 

 

 

 

بعد كذا في بارميتر تبع Constructor نكتب متغيرتين جديد غير الى كتبناه فوق 

 

ثم نكتب داخل الميثود كذا 

 

modelYear = model;

modelName = name_Car;

 

أول شي نكتب المتغير الى وضعناه بالبداية في كلاس 

 

ثم نضع يساوي ثم المتغير الي وضعناه في بارميتر تبع Constructor 

 

ليش؟ لانه لو وضعنا اي قيمة في بارميتر تبع المين على طول راح يتم استقبالها من خلال بارميتر في Constructor ثم تلقائيآ يتم وضعها في القيمة بالمتغير داخل كلاس و كذا يتم الطباعة 

 

كذا خلصنا من الكلاس 

 

نروح تحت في المين 

 

نضع فقط المتغير الى كان موجود في كلاس نفس  ماهو واضح بالصوره متحركة فوق 

 

وكذا ظهرت النتيجة زي ماهو واضح 

 

هذي Constructor

 

وكذا انتهينا و راح نتكلم عن باقي 

 

اشوفكم على خير…