OOP 3

Zero One Team www.youtube.com

ملخص موجز

يقدم الفيديو شرحًا تفصيليًا لمفهوم الكلاسات والأوبجكت في لغة البرمجة، مع التركيز على الكونستركتر والديستركتر. يتضمن الفيديو حل مثال عملي لإنشاء كلاس باسم "Triangle" يحتوي على خصائص (attributes) مثل القاعدة والارتفاع، ودوال (methods) لحساب المساحة وتعيين الأبعاد. كما يشرح الفيديو مفهوم الكونستركتر وأنواعه (الخالي والذي يستقبل معاملات)، وكيفية استخدامه لتهيئة الأوبجكت بقيم ابتدائية. بالإضافة إلى ذلك، يتناول الفيديو مفهوم الديستركتر وكيفية استخدامه لتحرير الذاكرة عند انتهاء دورة حياة الأوبجكت.

  • شرح الكلاسات والأوبجكت
  • حل مثال عملي لإنشاء كلاس "Triangle"
  • شرح الكونستركتر وأنواعه واستخدامه
  • شرح الديستركتر وكيفية استخدامه لتحرير الذاكرة

مقدمة وحل مثال عملي

في بداية الفيديو، يوضح المحاضر أنه سيتم حل مثال عملي على الكلاسات والأوبجكت لتوضيح المفاهيم التي تم شرحها سابقًا. المثال يتضمن إنشاء كلاس باسم "Triangle" يحتوي على خصائص مثل القاعدة والارتفاع، ودوال لحساب المساحة وتعيين الأبعاد. يذكر المحاضر أن هذا النوع من الأسئلة شائع في اختبارات المعامل (اللاب).

تعريف الكلاس "Triangle" والخصائص

يشرح المحاضر كيفية تعريف كلاس جديد باسم "Triangle" باستخدام الكلمة المفتاحية "class". ثم يوضح كيفية تحديد الخصائص (attributes) الخاصة بالكلاس، مثل القاعدة والارتفاع، مع تحديد نوع البيانات المناسب (float أو double) لهذه الخصائص. يشدد المحاضر على أهمية جعل الخصائص "private" لحماية البيانات.

تعريف الدوال (Methods) في الكلاس

يوضح المحاضر كيفية تعريف الدوال (methods) داخل الكلاس، مثل دالة "setDimension" لتعيين قيم القاعدة والارتفاع، ودالة "area" لحساب مساحة المثلث. يذكر أن الدوال يجب أن تكون "public" لكي يتم الوصول إليها من خارج الكلاس. يشرح كيفية تمرير قيم القاعدة والارتفاع من الدالة "main" إلى الدالة "setDimension".

إنشاء أوبجكت من الكلاس واستخدام الدوال

يشرح المحاضر كيفية إنشاء أوبجكت (object) من الكلاس "Triangle" في الدالة "main". ثم يوضح كيفية استخدام الدوال الخاصة بالكلاس من خلال الأوبجكت، مثل استدعاء الدالة "setDimension" لتعيين قيم القاعدة والارتفاع، واستدعاء الدالة "area" لحساب المساحة وعرضها.

شرح مفهوم الكونستركتر (Constructor)

يبدأ المحاضر في شرح مفهوم الكونستركتر، موضحًا أنه عبارة عن دالة خاصة يتم استدعاؤها تلقائيًا عند إنشاء أوبجكت جديد من الكلاس. يذكر أن الكونستركتر يستخدم لتهيئة الأوبجكت بقيم ابتدائية، ويحمل نفس اسم الكلاس. يوضح أن الكونستركتر لا يقوم بإرجاع أي قيمة (void).

أنواع الكونستركتر: الخالي (Empty) والذي يستقبل معاملات (Parameterized)

يشرح المحاضر نوعين من الكونستركتر: الكونستركتر الخالي (empty constructor) الذي لا يستقبل أي معاملات، والكونستركتر الذي يستقبل معاملات (parameterized constructor) الذي يستخدم لتهيئة الأوبجكت بقيم محددة عند إنشائه. يوضح كيفية تعريف كلا النوعين وكيفية استدعاء كل نوع عند إنشاء الأوبجكت.

الكونستركتر الافتراضي (Default Constructor) والـ Overloading

يوضح المحاضر مفهوم الكونستركتر الافتراضي (default constructor) الذي يتم توفيره تلقائيًا من قبل اللغة في حال عدم تعريف أي كونستركتر في الكلاس. كما يشرح مفهوم الـ overloading، وهو إمكانية تعريف أكثر من كونستركتر في نفس الكلاس بشرط اختلاف عدد أو نوع المعاملات التي يستقبلها كل كونستركتر.

شرح مفهوم الديستركتر (Destructor)

يشرح المحاضر مفهوم الديستركتر، موضحًا أنه عبارة عن دالة خاصة يتم استدعاؤها تلقائيًا عند انتهاء دورة حياة الأوبجكت. يذكر أن الديستركتر يستخدم لتحرير الذاكرة التي تم حجزها للأوبجكت، ويحمل نفس اسم الكلاس مسبوقًا بعلامة التيلدا (~). يوضح كيفية تعريف الديستركتر ومتى يتم استدعاؤه.

Summarize any YouTube video in seconds

Get summaries like this one for any video, in your language, with the free Summ app.

Download on the Apple Store
Get it on Google Play

Transcript

YouTube Transcript Generator

0:00 السلام عليكم ورحمه الله وبركاته بسم الله الرحمن الرحيم برضه نستكمبل اليوم شرح ماده الاوبجكت اورينتد الفيديو الثالث بدايه خلينا نحل مثال على ما سلف الامور اللي شرحناها عشان لو كان في اشياء مش واضحه بتوضح بشكل عملي خلينا نبلش يلا بسم الله بعد ما نحل هذا المثال رح نكمل في شرح ما تبقى من السلايدات رح نحكي عن ال الديستركتر والكونستركتر اتوقع المحاضره هي فقط رح نحكي عن الكونستركتر واللي بعدها رح نحكي عن الديستركتر طيب تمام خلينا نروح الان نكتب الكود اللي بحل هذا المثال تمام قبل ما نروح نكتب الكود خلينا نفهم المثال شو بده بعدين

0:46 بنروح للجزء العملي تمام اي بالبدايه بحكي لك اعمل كلاس هذا الكلاس اسمه تريانجل يعني كلاس اسمه تريانجل وهذا الكلاس بيحتوي على هذه الاشياء لازم نحدد نحن شو الاشياء اللي بيحتوي عليها تمام فاغلب الاسئله هيك بتيجي انك خصوصا ماده اللاب تمام اغلب الاسئله بتيجي انك تعمل كلاس اسمه تريانجل او عفوا كلاس اسمه تريانجل الى اخره من الاسماء وتعمل داخله هذه الاشياء بعض الاشياء تمام وجزء المين بيكون لحاله يعني هيك [ضحك] بقسم السؤال كلاس ومين تمام المين لحال والكلاس لحال طيب اول شيء لازم تعمل الكلاس بعدين بتعمل المين تمام هي بالنسبه للماده النظريه الماده العمليه في اللاب اول شيء بحكي لك هذا الكلاس بيحتوي على ه الاشياء بيس ان

1:33 ذا هاي اتربيوت بده قاعده وارتفاع اكيد بنعرف انه المثلث له قاعده وله ارتفاع عشان نحن نحسب مساحه نحسب الى اخره كمان بده ميثود ميثود حكينا اللي هي الفانكشن الميثود الفانكشن او البيهيفير بتكون عننا اللي هي الجزء الثاني من الكلاس تمام اللي بتكون دائما شو ببلك بالضبط تمام اميثود نيم اسمها اريا تحسبنا المساحه تمام كمان بدنا فانكشن اسمه سيلت دايمنشن الابعاد والاحداثيات تمام ذات تكس بياخذ بيس وهايت فروم مين يعني يوزر حيدخل الاشياء ها نبعثهم من المين تمام فحنعمل فانكشن هذا الفانكشن بستقبل بيس وبستقبل

2:18 هاي تمام بعدين حنعمل شيء اسمه كونستركتر تمام ه نحن رح نوقف حل السؤال لهون تمام بعديها رح نشرح موضوع اليوم اللي هو الكونستركتر ما رح نحل الفحال تمام يعني حنشوفه بعدين شو هو الكونستركتر كيف بيشتغل والى اخره تمام طيب خلينا نروح الان الجزء العمليكم بالدر بسم الله بدايه خلينا نشيل هذا الكلاس ونروح نروح نعمل نيو كلاس كلاس هيك بكتب كلاس هي هيك طريقه تعريف الكلاس بكتب كلاس ا شو بنيجي على هون شو حكى لي اسم كلاس

3:05 وحكى لي تريانجل تمام اكتب تريانجل تراانجل تراانجل ا تمام بعدين نشوف شو بده اي اللهم صلي على سيدنا محمد حكى لك بدي هذا التراانجل او الكلاس شو يحتوي يحتوي على بيس وهايت اتربيوت فهذه ايش معناها اتري اتربيوت تمام لما تشوف كلمه اتربيوت تمام ف بنروح ايش نخليها برايفت فدائما لازم يتبادل لذهنك انه لما تشوف اتربيوت لازم تكون ايش برايفت فالبرايفت داتا عننا شو هي برايفت اتربيوت شو عننا عننا البيس والهايت يعني القاعده والارتفاع تمام هسه بصف عننا اني احدد نوعهم طبعا بانه بتحكي

3:51 عن قاعده وارتفاع فممكن يكون ابعادهم فيها اعشار فهون رح نطر نستخدم الفلوت او الدبل فنستخدم فلوت او ليش نستخدم دبل فرق صراحه على المثال هذا ما تفرقش فنعرف بيس ونعرف شو كمان حكينا نعرف اللي هي الهايت تمام هي عرفنا بيس وهايت بعد هيك نروح للفير اللي بعده بحكي لي ميثود لما احكي لي ميثود يعني فانكشن فايش ايش لازم اعمله ببلك فرايح اعامل ببلك عشان احط الفانكشن فزي ما اتفقنا انه الفانكشن تكون ببلك الاتربيوت تكون برايفت الا اذا السؤال طلب شيء ثاني هون بتفرق فالميثود اسمها اريا تمام فرح نعمل فانكشن برجع اريا طبعا المساحه ممكن تطلع فيها ع فواصل عشريه فخلي نوعها نوع الارجاع يكون

4:38 دبل تمام واسم الفانكشن اريا هيك خلينا نسميه هيك اريا تمام طيب شو حكى لك الفانكشن الفانكشن تيكس بياخذ بيس وهايت فنروح نحكي له برضه دبل بي عشان الاسماء اسماء تكون مختلفه شوي نميز هي ما بتفرق بس عشان نميز اسماء مختلفه مشكله واتش تمام طيب بعد هيك بنروح حاكين انه البيس رح يساوي بي رح تيجي من المين والاتش رح تساوي شو الهاي تمام تمام طيب شو كمان بده حكى لك بدي اياك تعمل لي ميثود اسمها اي اه عفوا عفوا خربطنا هي نحن عملنا الميثود اللي اسمها ست دايمنشن تمام فالااريا مش هي فخليها

5:26 خلينا نسميها ست دايمنشن هي بعدين اريا طيب ست دايم اي تمام خلينا نكون منتبهين نحن عملنا هي الميثود اللي اسمها ست دايمنشن تمام اخبط البيت وهي تمام خلص هي عمل ست هسا نعمل ميثود اسمها اريا تمام طبعا هذا لازم يكون فويد لانه مش قاعد برجع شيء بس بيعمل سيت فنخليه فويد حلو نعمل ميثود اسمها اريا هي هيدا دبل اريا نفتح هيك ونحكي ريتيرن بس انه هو بس حيحسب ال اللهم محمد حيحسب ايش مساحه المثلث شو مساحه المثلث نصف القاعده في الارتفاع نحكي هي عباره عن 0.5 خمسه اي ضرب شو في البيس في ايش الارتفاع تمام ها هيك بس هيك

6:11 هي هون حط ضرب كله ضرب بعضه هيك رح يرجع لي على المين مساحه ال مساحه المثلث تمام تمام طيب شو اخر شيء طلب بلد ايش كونستركتر سيبنا الكونستركتر نحن ما بنعرفه بنشوفه بعدين فببساطه يعني هيك بتعمل هيك بتعمل كلاس هون هيك بترتب الداتا وهيك بتحط الميثود او الفانكشنز اللي عندك هيك خلصنا من جزء الكلاس خلينا ننتقل هسه لجزء المين تمام خلينا نشيل الكلام هذا تمام الان عننا مين ححكي لك كريت تراانجل اوبجكت طيب مين بيقدر يحكي لي كيف بقدر اعمل اي اوبجيكت من هذا الكلاس ح بيقدر يجاوب >> حط اسم الكلاس وحط متغير بس

6:57 >> بالضبط حط اسم الكلاس اي تراجل تمام اسم الكشنسخها طيبحط اسم الكلاس هون وبعديها بتحط اي اسم اوبجيكت بدك اياه فسميه اوبجيكت هيك انا عملت ايش كريت اوبجيكت تمام عملنا اوبجيكت هسا شو بحكي لك ست ذا بيست تو 10 اند الهاي خليه يكون 15 حلو كيف اعمل ست حكينا عندي فانكشن بيعمل ست فكيف اوصل لهذا الفانكشن قلنا نكتب اوبجيكت ونحط دوت هيك بقول لك الاشياء اللي تقدر توصلها فانا بدي اعمل ست بنادي الفانكشن ست هون عفوا

7:43 وافتح الاقواس الان هذا الفانكشن قاعد بيستقبل اي تو ارجمنت منك من المين فبده البيس وبده الهاي كم قال لك حطهن 10 و 15 روح بعث له 10 و15 على التوالي هي 10 وهي 15 هسا تحكي لي طيب هي بعث انتجر نحن ليش حطينا دبل بقول لك في هي الحاله بعث 10 15 لكن ممكن في حالات اخرى انه يبعث ارقام ثانيه يعني خلينا نحن نكون شوي مختلفين نبعث 10 و10 و75 هيك تمام عشان استخدمنا الدبل بعدين بيقول لك برنت ذا اريا الاريا بترجع رقم فلازم تعملها سي اوت خلينا نط بحالنا تعمل زي هيك ذا اريا وبتحكي له هيك ايكوال شو الاريا اللي في الفانكشن خلص هيك نديتها

8:28 وهيك امورك تمام ا وتم طيب اه شوف شو وين الغلط اللي عندي هون انا نديت اريا بشكل صريح لحالها لكن الاريا مش مش فانكشن هي عباره عن ميثود داخل الاوبجكت هي تبع الاوبجكت فما بتقدر تناديها لحالها فلازم شوجكت نوصل لهذا الفكشن انه هذا الفشن تابع مش فانكشن هيك لحاله برجع تمامجرب لا بالضبط هي حسب لي الايريا طلعت هذا الرقم بغض النظر المهم الفكره اي هون بس خلينا نعمل شكل شغله بس معلومه هون لما ترجع لو

9:15 انك الفانكشن برجع دبل فقبل الفانكشن انت روح عامل ايش دبل هيك خليها دبل يعني هي معلومه اضافيه الصراحه هيك وحطها هيك عشان ما فيش اي مشاكل يرجع بالضبط بل يعني تمام اه عرفت شو الغلط انا حعاكسها هي لازم الهايت يساوي اتش خلص مش مشكله تمام فيب وهي الفكره يعني هي حلينا هذا المثال خلينا الان ننتقل ل كيف اونا نحكي عن الكونستركتر الموضوع التالي نروح على الاستادات احسن كيف طيب ف عننا عننا ممبر فانكشن طبحكي سبيشبر فانكشن الممبر

10:00 فانكشن تحكيلي شو الممبر فانكشن بحكيلك اه هذاشن والاريا هي عباره عن ممبر فانكشن موجوده عندك لكن في عندي سبيشال ممبر فانكشن تمام هذه هذه الفانكشن بتيجي يعني مرتبطه بالاوبجكت او مرتبطه بالكلاس وفعليا هي موجوده لو انا ما كتبتها هي موجوده خلينا نحكي خلف الكواليس تمام من هذه الفانكشن عندي اللي هي الكونستركتر والدسترك كتر تمام خلينا نروح على السلايد اللي بعده نشوف شو الكونستركتر طيب طيب بسم الله الكونستركتر عباره عن ببلك ممبر فانكشن وبقول لك هو كولد نيو اوبجكت از كريتد شو معنى هذا الكلام اه بحكي لك هذا شيء

10:46 بتنادى هو فانكشن بتنادى لما بحكي لك بتنادى بتم استدعاءه عند ايش انشاء اوبجيكت طيب كيف يعني انشاء اوبجيكت بقول لك بالضبط لما تروح على المين انت خلينا نجيب البن تمام لما تروح على المين وتروح تكتب اسم الكلاس هي كلاس نيم هي كلاس نيم تمام تمام فهي كلاس نيم بهذه الطريقه واسم الاوبجيكت هي اوبجكت تمام هي الاوبجيكت صار يعني انشانا هذا الاوبجكت طيب خلينا نحكي بسرعه يعني اسرع من هيك انه الموضوع ش صار بسيط جدا فلما انادي هذا الاوبجيكت في عندي في جوا الكلاس نفسه جوا الكلاس فوق بالكلاس نفسه على الكلاس هون رح يجي عننا فانكشن

11:32 هذا الفانكشن ما راح احكي عنه كيف بكتبه بس عندي فانكشن سم فانكشن وله بدي رح يتم استدعاءه وتنفيذ ما داخله تنفيذ ما داخله وهسا رح نعرف شو ما داخله بس الاوبجيكت يتم انشاءه هيك بس تعمل اوبجيكت بيروح بنادي فانكشن لحاله تمام طيب نمسح و تمام بحكي لك يو انشلايز داتا ممبر تمام شو نستخدمه بستخدمه عشان نعطي قيمه ابتدائيه للاوبجيكت للداتا ممبر تبعت الاوبجكت للاتربيوت تبعت الاوبجكت ليش نعطي القيم ابتدائيه عشان ما يصير عنا جاربج فو يعني في لما لو نسيت اعبي قيمه والى اخره فنخلي عننا ديفولت فالو بستخدمها مثلا لما يكون في عندك بتدخل على مثلا مكان تحط اسمك

12:19 رقمك الجامعي او اسمك في بوابه الجامعه بتلاقي قبل ما تدخل اسمك بتلاقي مكتوب هنا مثلا الاسم ف بتكون ايش؟ قيمه افتراضيه محطوطه جوا فانت بتقدر تعدل عليها فيعني هيك قيمه ابتدائيه تكون اي لليوزر اللي حيشوفها تمام طيب شو كمان خلينا نشوف اللي بعده عننا اللهم صلي على سيدنا محمد عننا هون هاف ذا سيم نيم از ذا كلاس اه تمام له نفس اسم الكلاس طيب هي النقطه بشرحها بشكل مثال اعمليه افضل تمام له نفس اسم الكلاس كيف نفس اسم الكلاس بس يعني فانكشن من نفس اسم الكلاس اي فانكشن من نفس اسم كلاس يطلق عليه ايش؟ كونستركتر او احد اتباع الكونستركتر لانه في لسه انواع ثانيه رح نتعرف عليها ان شاء الله طبعا ما برجع فالو هو بس تو ست فالو بس ست فالو نون ريتين فالو هو فويد فانكشن

13:07 حنحكي عنه هو فعلا فانكشن هو حكى عنه شوف فانكشن ما حكي عنه ميثود هو ممبر فانكشن وليس ميثود خلينا نوضح شغله الميثود اللي هو الفانكشن اللي بيعمل شيء لكن الفانكشن العادي بحد ذاته هو فانكشن مثلا ما برجع قيمه او ما بيعمل شيء زي ما بحسب مساحه وصلت كيف هذا بنحكي عنه ميثود لو بحسب مساحه او المهم فهو نون فاليو ا كلاس مي هاف سف كونستركتر تمام ممكن يكون عننا الكلاس يكون فيه اكثر من كونستركتر وهذا بسميه الاوفرلودين اوفرلودين يكون عندك اكثر من فانكشن نفس الاسم بس بتكون الباراميتر تبعتهم مختلفه شو قصدي بالباراميتر بحكي لك كان عندك زمان فانكشن اسمه مثلا نيم فانكشن اسمه نيم فانكشن عادي اسمه نيم سيب من الاوبجكت بستقبل انتجر هيك فو اثنين انتجر ونفس الاسم نيم

13:54 فانكشن ثاني لكن شو استقبل دبل حلو فهذا بسميه اوفرلودين انه اذا بعثت دبل حيجي على هذا واذا بعثت انتجر راح يجي على الفانكشن هذا بس هيك هذا بسميه اوفرلودين الكلاس للكونستركتر في الكلاس ببساطه تمام نيجي للملخص ستخدم الكونستركتر لغايه اعطاء قيميه الكين بس يعني هي الفكره يعني زي ما بنحكي يس اللي هي شهاده الولاده فعليا انه هذا اوبجيكت انولد فعليا هو الاوبجكت انولد صار عندي كائن فهذا الكائن رح يكون له اثم والى اخره فلازم نعطيه ديفولت فاليو قبل ما نيجي نغير على القيم ونصير نعدل عليها تمام طيب نروح للي بعده شو اللي بعده تمام شوف اللي بعده الديستركتر تمام قبل ما نحكي عن الستركتر لا نروح الوضع نوضح شو

14:40 الكونستركتر بشكل اي اكثر طيب خلينا نطلع من هون ونروح ل الكومبينر طيب نيجي للببلك نفترض هو ببلك ف فانكشن نكتب اسم الكلاس بس تكتب اسم الكلاس حرفيا فقط انك تكتب اسم الكلاس >> اسم عادي نفس الفانكشن بس نكتب اسم الكلاس ونفتح فانكشن هيك فصار عندي كونستركتر لكن لاحظ شوف اسمه اسم الكلاس حيكون بلون مختلف واسم الكونستركتر راح يكون بلون اخر مختلف طيب انت حكيت لي عملت هذا الكونستركتر حكينا نقطه انه لما استدعي اوبجيكت رح يتم تنفيذه خلينا نعمل تيست انه بتم في روح جوات واكتب ست ه كريت كريت

15:25 ان اوبجيكت هي تمام عملنا اوبجيكت تمام حلو هيك انا عملت اوبجيكتب مش مهم شوف ه المفروضحطش في طباعه ثانيه المفروض انه اول شي ينطبع يتنفذ هذا الفانكشن فلما اعمل هذا الاوبج انا هون سويت اوبجكت بعد السطر هذا ايشطبع ح كريت ان اوبجكت تمام هي شغل تمام انطبعت شفت كيف فهي الفكره انه لما انا اعمل اوبجيكت بروح منطبع منه ايش عفوا بروح متنفذ منه هذا الكونستركتر بس تحكي لي طيب شو فائط هذا الكونستركتر نحن ما حكينا انه بده اياه يطبع شيء لا بس لكن ممكن يجي باسئله النظري بهي الطريقه شوك هل انت فاهم شو بوي كونستركتر اه تحكي له

16:12 اه لما بتيجي على المين تتبع عرفت اوبجيكت اول شيء بدك تطلع على الكلاس شوف في عندك كونستركترات اه عندي كونستركت كونستركتر هذا بنسميها ابتداء ها ابتداء امتي كونستركتر امتي كونستركتر شو يعني امتي ما بستقبل اي ارجمت ما في بارامتر له بس هيك طيب هذا شو استخدامه خلينا نروح عاملين هي كومنت ونشوف شو استخدامه الفعلي لهذا الكونستركتر حكينا ديفولت فاليس خليها 0.0 الزيرو ابتداء فهي قيمه ابتدائيه وبنروح نعطي الهاي كمان الهاي 0.0 صفر فهي قيمه ابتدائيه هيك عشان يعني شوي اوبتيمايز اكثر بكون بصراحه فخلينا نكمل هسه فهي هي الفائده من الكونستراكتر

16:57 انه نعطي قيمه ابتدائيه طيب شو علاقه انه يطبع شيء بقول لك انه هي بتيجي بالاسئله النظريه انك ممكن يكون جايب لك كونستركتر وكاتب لك جم جمله طباعه بده يشوفك هل بتعرف انه والله اذا تنفذ هذا اذا سويت اوبجيكت هي انت رحت تعرف انه رح تنطبع هي الجمله ولا مش رح تنطبع او متى رح تنطبع ولا لا طبعا بس باختصار هذا هو ال الامتي كونستركتر هو هذا النوع الاول يعني من الكونستركتر تمام طيب حنشوف من نرجع للسلايد الرئيسيه يعني الصراحه افضل من الملخص عشان نقدر نشرح تمام فهون خلينا ناخذ مثال هيه عندك ايه كونستركتر تمام اسمه ريكتانجل هون وقاع بيعمل ويث والهاي زيرو زي ما عملنا تمام يعني هي فائده الكونستركتر وهي المعلومات

17:43 زي ما حكينا يعني ما في اي شيء اضافي الصراحه وبعد بعدين رح نحكي عن سركتر هسه هو يعني سركتر عكس الكونستركتر هسه بنشوفه هو شهاده الوفاه للاوبجيكت اللي عننا هل في اي معلومه ثانيه عن ال كونستركتر حيا لا نحن بنحكي عن الامتي كونستركتر تمام هل في انواع ثانيه انت قاعد بتحكي امتي كونستركتر اه بحكي لك اه في نوع ثاني خلينا نحكي عنه بشكل بسيط لو كان عندي نفس الكونستركتر لكن هذا الكونستركتر قاعد بستقبل فالو مني استقبل ان بي وانت اتش وليش حطت انت مش مشكله نحن قاعدين نشرح طيب شوف هذا عندي كونستركتر وهذا كونستركتر اثنين كونستركترات تمام ايش بفرق هذا الكونستركتر عن هذا الكونستركتر انا بقول لك شو فرق خلينا بس نجيب هذا الحكي نحطه هون

18:32 تمام هذا الكونستركتر قاعد بستقبل القيم من الميل عامل زي فانكشن لكن هذا الكونستركتر ما في داعي اني اروح انادي فانكشن عشان يعبيه هو بس بياخذ قيم من اليوزر كيف هسه انا عملت لك اوبجيكت هذا الاوبجكت خلينا بس نكون فاهمين الموضوع شوي نفس الحكي هذا اللي عملناه هون نعتبره مش موجود ننا قاعدين نشرح عن الكونستركتور شو بصير احنا انا قلت لك بس تعرف اوبجيكت عادي بروح بنادي ايش الكونستركتر اللي هو الامتي كونستركتر هذا هو الامتي كونستركتر تمام حلو طيب هسا انت بتحكي لي انه عندك اثنين كونستركتر واحد بيستقبل قيم وواحد ما بيستقبل طيب كيف اميز مين راح يتنفذ خلينا بالله نيجي نشغل ها كريت اوبجيكت ونيجي هون نطبع التي اي

19:19 هون مثلا اوبجكت تو هيك نحكيها او اي شيء او حلو اي جمله تمام عشان نعرف ايش طبعا طيب نكمل الان شو عننا الامتي كونستركتر والبرامترايز كونستركتر اه صار عننا اسماء الان اه هذا اسمه امتي كونستركتر وهذا اسمه باراميترايز كونستركتر طيب ليش اسمها باراميترايز كونستركتر لانه له باراميتر وبستقبل ارجمت من المين تمام تمام بشكل سريع عشان ما نطول رح نحكي بس انه شو بفرق هذا عن هذا الان انا عملت اوبجكت لو اشغل الكود رح يطبع لي اي جمله كريت ان اوبجكت وروح بخلي الباس البيس والهاي زيرو هي عمل كريت ان اوجكت طيب البراامتراز كونستركتر ما اشتغل طيب كيف اخليه يشتغل بقول لك تمام بتروح على هذا الاوبجكت نفسه بتفتح اقواس زي هيك اطلع

20:05 كيف روح ابعث فالو هيك هي ابعث فالو زي هيك بس ابعث فالو حرفيا بس ابعث فالو زي هيك بروح طبع لك هلو شوف ناد لك براميترز كونستركتور باختصار هذا هذا كل الموضوع يعني مو ابدا مش معقد اذا بعثت قيم بتشوف هل عندك هل عندك فعلا اي بارامترايز كونستكتر يستقبل هذه القيم اه عندي تمام معناته ايش راح يروح عليه وينفذ تمام طيب لو ما بعثت قيم روح يناديلي هذا الفولت كونستركتور اللي هو عفوا كونستكتور هذا تمام ما في شي ستقبل قيم فيه طيب لو هذا شلته هيك انا شلته وبعثت قيم شو اللي ممكن يصير بيجي عليك على المين بقول لك والله في ايرور طيب ليش في ايرور بقول لك ما في عندي كونستركتر او احد

20:53 انواع الكونستركتر اللي قادره تقبل مني هذه الارجمنت ما في ماتش ارجمت ليست تستقبل ما في برامتر فوق تستقبل هذه الارجمنت فايش فهذا ايش غلط ما بصير تسويه وخلينا على الديفولت لانه انت ما عندك بارميترايز كونستركتر وصلت وصلت ما بتقدر تبعث قيم غير يكون عندك ايش باراميترايز كونستركتر لكن هذا ال خلينا لو شلنا هذا الكونستركتر خلينا نحكي لك شغ معلومه يعني شوي اضافيه ه في هي الحاله شغال لكن في هي الحاله هي الحاله شوف هي الحاله ممكن يجي سؤال نظري هل رح يستدعي اي شوف هسا هون عامل لي ايرور خل هسا رح نحكي ليش عامل ايرور وان شاء الله رح نوضحها اكثر يعني مشيك شوف هسا هيك مش عامل ايرور طبيعي تمام اي هي تعليق بس خلينا نشغل هي راحت تمام 100 ه بهي الحاله هو مش عامل ايرور ليش

21:40 لانه هو دائما يعني كل اوبجيكت بحاجه لكونستركتر هو شيء يعني مرتبط فيه بحاجه لكونستركتر لكن بتحكي لي انت انا مش كاتب هون كونستركتر مثلا هون انا مش كاتب كونستركتر بحكي لك اه بس في عندي شيء خلف الكواليس اسمه ديفولت امتي كونستركتر ايش يعني ديفولت ها هو موجود في عندي تمبليت جاهزه موجوده في اللغه رحح يروح عليها ويعمل له يعمل له انشلايزيشن يحط فيه قيم ابتدائيه وخلص يرجع مش مكتوب طيب ما في داعي اكتبه طيب هسه بتحكي لما ارجع البرامترايز كونستركتر هسا انا عندي كونستركتر ركز بس كلمه وجود كونستركتر لحالها بيجي على المقول لك في ايرور ليش بقوللك انت لازم تبعث ارجمت طب انت قلت لي في ديفولت امتي كونستركتر بقول لك بتنفذ الديفولت امتي كونستركتر لما

22:27 يكون عندك ولا اي نوع كونستركتر لا بارامترايز ولا انت كاتب بهذاك انت عامل اوفرلودين له فبهي الحاله انت مضطر تبعث قيم مضطر شو تبعث قيم فهي شويه مفاهيم ممكن شوي تكون كومبلكس لكن ان شاء الله تكون بسيطه مع الممارسه تمام طيب وضحت الصوره وضحت الديفولت امتي كونستركتر موجود خلف الكواليس في حال اني انا ما كتبت اي كونستركتر وما عملت اوفر رايد لاي كونستركتر في الكلاس في حال كتبت اي كونستركتر سواء كان امتي او بارامترايز انسى الديفولت الموجود في خلف الكواليس و بتركز على الموجود عندك هون تمام متى بتنفذ الديفولت الديفولت يعني مش موجود خلف الكواليس بتنفذ لما انت ما تكون كاتب ولا اي نوع كونستركتر باختصار هي الكونستركتر بس تمام فندير بالنا انه انا لو عملت

23:15 اوبجكت لحاله هيك واعطاك اجاك سؤال هل هذا الكود صح لا حيقول لك انه هون في ايرور بيكوز انك انت مش باعث قيم للكونستركتر اللي فوق وضحت هي الحاله وبس يعني غالبا ها اهم المعلومات عن الكونستركتر يعني ما ما ظل شيء عننا هون بالسلايد هون رح ينتقل للديفولت كونستركتر اللي حكينا عنه تمام بعدين رح نيجي لشيء اسمه كوبي كونستركتر رح نيجيم المحاضره الثانيه تمام ظل الان موضوع و هو الديستركتر تمام ما حكينا عنه طبعا ديستركتر اي عباره عن هو اخر موضوع خلص رح ننهي تمام الديستركتور عباره عن شهاده وفاه لهذا الاوبجيكت شو يعني شهاده وفاء بقول لك هذا الشيء يتم تنفيذه عند

24:01 انتهاء دوره حياه الاوبجكت طيب شو دوره حياه الاوبجكت بقول لك تمام السكوب اللي بتعرف فيه هذا الاوبجيكت هذه هي دوره حياته اذا عرفته عند هذا السكوب فلما لما يوصل الكود تنفيذ هذا الكود عند هذا السكوب ويطلع لبره انتهت حواس الاوبجيكت مات خلص وين بروح الان بروح على شيء اسمه الديستركتر تمام الديستركتر فطبعا نفس الفكره عن الكونستركتر نفس طريقه التعريف لكن بيختلف شوي غ الهدف منه يعمل تفريغ للذاكره يعمل حادث لهذا الاوبجكتف ما في داعي يظل عندي خلصت شغل فيه عملت كل شيء بالمين خلص بروح السيبنا من اي معلومه موجوده هون لانه يمكن تعتمد على اشياء تيجي اي قادما فسبنا من اي معلومه موجوده هون خلينا نروح بس نشوف كيف نعمل سستركتر ونضحه طبعا هذا الشرح بنظري

24:49 وليس العملي ماده العملي شويه حتكون ابسط الصراحه المهم كيف تعمل ستركتر نفس الفكره روح عامل تريانجل هيك وافتح قوس وافتح هيك عادي ماك تمام بس شو الفكره انه بتروح عامل لي اشاره التلده هي الموجوده على حرف الذال شفت مع ذال بتنزل لك تلدا هذا صار اسمه ديستركتر طيب متى هذا الديستركتر بتنفذ خلينا نفتحه هيك ونحكي له اوت اوف سكوب انا برا السكوب شوف طيب خليني اورجيك شغله يلا انا عملت اوبجيكت طبعا خلينا نشيل البارترايز كونستركتر خلينا نشتغل على الديفولت مش مهم الان عندي اوبجيكت هذا الاوبجكت شغال عنده ديفولت كونستركتر خلف الكواليس في المين اعمل له انشلايزيشن وخلص اموره تمام الان هذا متى رح يتنفذ لما المين يخلص لما يخلص

25:36 ايش يخلص هذا السكوب يعني بس هذا السكوب بيخلص بيجي هذا يتنفذ خ نشوف كيف هيشغل تنفذ مباشره يعني انت قلت تشغيل عندك على الكود رح يتنفذ ايش مباشره خلينا نجرب شغله ثانيه عشان يكون شيء يعني اثبات رح اعمل سكوب داخل هذا ال واعرف داخل المين واعرف جواته اوبجيكت تمام وبعد الاوبجيكت هذا رح اعرف شو اكتب بس هيك جمله اي انا ذا مين عشان اتاكد انه ما انا هون لسه ان ذا مين ونشوف هون كم مره رح يتنادى للديستركتر برايك او شو رح ينطبع على الشاشه حد بيقدر يجاوب شباب رح يطلع اول شيء اوت اوف ذا سكوب بعدين ان

26:23 ذا مين بعدين اوت اوف ذا سكوب مره ثانيه >> جميل انت بتحكي هيك تمام حد جاوب ثاني انا حكيت لك لما هو يعني بتنفذ عند نهايه السكوب تبعه هل انا حركت اوبجيكت داخل سكوب المين هل عرفت اوبجكت؟ خلينا نشوف التنفيذ نشرحها نتناقش الموضوع بالضبط طبع لي اوت اوف سكوب وان ذا مين لكن هو لما جاوبني توقع يطبعها مرتين قال لك ايش؟ قال لك جو سكوب المين في اوبجيكت هيه وجوا السكوب هي في اوبجيكت حسب انه مرتين خلص اول اول ما اطلع من السكوب هذا رح يطبع لي اوتو سكوب ولما اطلع من سكوب المين رح يطبع لي اوتو سكوب طبعا نن حكينا انه الاوبجيكت بموت اصلا عند اول سكوب بيطلع منه خلص بموت يعني معناته هون انا ما عندي اوبجيكت نو ما في اوبجكت نو اوبجكت وصلت الفكره كيف ف يعني هيك اتوقع

27:09 وضحت الصوره مع هذا المثال انه بس يخلص هذا السكوب بتنفذ طيب لو اروح معرف اوبجيكت ثاني هيك عامل هيك ترا انجل هيك ولا اوبجكت ثاني شوف نحط نفس الاسم لانه كل واحدك بس خلينا نعمل هيك الحاله راح يصير اللي حكى عنه خلينا نحط تحت مثلا عشان سكوب خلط هيك ثواني هيكحطلي اوت سكوب انا بالمين وبعديها بقوللي اوت سكوب مره يعني هي اوت سكوب الاولى للسكوب الاول بعدين انت لسه بالمين بعد ما طلعت من المين شو قال لك اوت سكوب بالضبط هذا بصير ف بس يعني موضوع بسيط الديستركتر شو وظيفته هسه مش مهم شو بيعمل هذا الديستركتر رح نعرف لقدام بصراحه يعني شيء مهم جدا هو بيعمل

27:56 اي اي تفريغ للذاكره تمام رح يصير تفريغ للذاكره بسميها ميموري ليك ممكن او مش ميموري ليك بس المهم بيحمي الذاكره وحيفضيها من ظل زياده والى اخره ان شاء الله رح نشوف قدام تمام بس اشوف هذا الشيء لا حاليا ما ظل عنا ولا شيء طيب طولنا عليكم يعطيكم الف عافيه السلام Так.

Share

YouTube Video Summaries