مصعب خنيجر | Node.js⬡
مصعب خنيجر | Node.js⬡

@MusabKhunaijir

17 تغريدة 52 قراءة Sep 10, 2020
يعني شنو OOP ؟
=============
ببساطة هو أسلوب برمجي ظهر كبديل للأساليب القديمة الكانت فيها مشاكل كتيرة زي:
1. تكرار الأكواد البرمجية
2. عدم إستقلالية أحزاء البرامجة عن بعضها بصورة كويسة .. يعني لو عدلت في جزء غاليا حتأثر ع باقي الأجزاء و حتضر تعدل على الكود ككل.
3. مشاكل تطوير و صيانة الكود لي قدام.
4. ما كان فيها إخفاء لتفاصيل بي صورة كويسة اللهو معروف بي الـ Abstraction
5. و من أهم الحاجات هي عدم قدرتها على محاكاة العالم الحقيقي بصورة فعالة بعكس الـ OOP
و إييييييييييييك حاجات تانية كتيرة .
المهم..
مفهوم ال OOP قائم على محاكاة الأشياء في شكل كائنات عشان كدا اسمها ( البرمجة الكائنية Object Oriented Programming )
فببساطة شديدة أي حاجة عندنا بنعبر عنها في الكود على شكل كائن .. و الكائن دا بكون عندو نفس خصائص الكائن الحقيقي الفي الواقع ( الأصلي الدايرين نحاكيهو: اسمو و لونو و رقم تلفونو .. ساكن وين ) و دي بسموها attributes .
و برضو بكون عندو نفس التصرفات و الأفعال البتخذها الكائن الحقيقي ( بياكل – بيشرب – بينوم – بيصرف مرتب – بيتصل بالتلفونات التانية – مكنة صراف بتصرف الناس قروش .... إلخ ) و دي اسمها Methods أو Actions
بعدا نجي نشوف مفهوم الـ Object و الـ Class :
الـ object أظن وقع .. ما بحتاج نعيد تاني.
أما بالنسبة لي الـكلاس class فهو عبارة عن مجموعة من الكائنات العندها نفس الخصائص و الأفعال .. فبدل نتعامل مع كل واحد براهو و نعرفو براهو بي خصائص و أفعال منفصلة .. الأفضل نلم الخصائص و الأفعال دي كلها في حتة واحدة و نعمل منها نسخة مبسطة ( object ) و نديهو اسمو و حاجاتو براهو…
البتميزو – لكن في النهاية الخصائص هم بشتركو فيها كلهم – يعني جايين من قالب واحد.
مثال:
عندنا جامعة فيها طلبة .. الطلاب ديل عندهم خصائص Attributes زي ( الاسم – رقم التسجيل – الدفعة – التخصص – الرقم الجامعة ... إلخ ) و عندهم أفعال Methods زي ( بيحضو محاضرات – بياكلو – بيمتحنو – و بقومو بعملية التسجيل ... إلخ )
فلو جينا نفسر الكلام دا .. حنلقى كل الطلاب مشركين
…في نفس ال Attributes ال Methods دي، صاح؟!
أكيد صاح ..
طيب بدل نعرف كل طالب براهو بي Attributes و Methods خاصة بيهو و يكون في تكرار و كود كتيييييييييييييير
الأفضل نعمل قالب template في Attribute و ال Methods دي .. و بعداك نستدعيها بي كل بساطة و نديها القيم
عليك الله موش كدا أحسن 😊
طيب معناها الــ Class دا عبارة عن مجموعة من الكائنات المتشابهة و هو الـ class بمثل قالب ليهم
بعدا حيبقى السؤال أتعامل معاهو كيف ؟
أقول عادي جدا .. تتذكرا الكائن .. بس جيب كائن صغنوني كدا من الكلاس و إتعامل معاهو زي ما إنت داير ... تديهو اسمو و رقمو و تفاصيلو براهو و توديهو يمين و شمال، يعني تتحكم فيهو زي ما داير.
و أهم حاجة إنو ما بنحتاج نكرر تعريف الـ Attributes و الـ Methods لكل كائن براهو .. ليه؟
لأنو الـ class قلنا هو القالب فأنا بعرف الـ object/s و بستعمل نفس الـ Attributes و الـ Methods القبيل عرفتها في الـ Class
و بكدا أكون ريحتا روحي شديد و وفرت كمية كبيرة من الكود و الجوطة
أتمنى الفكرة تكون وضحة ؟
لو في أي حاجة ما واضحة .. لو تكرمتو و كتبتوها في تعليق و بحاول أشرحها ليكم تاني .. عشان كلنا نستفيد
و الباقي في مقالات تانية إن شاء الله
#مصعب_خنيجر
#كود_بلدنا
#السودان

جاري تحميل الاقتراحات...