عزيزي المبرمج، مالذي تعلمته اليوم؟
سؤال بسيط، ماهو الشيء الجديد الذي تعلمته اليوم؟
تعلمت كيفية التواصل مع قواعد بيانات SQL Server عبر Node.js والأمر ليس معقداً ويحتاج فقط هذه المكتبة:
تعلمت أيضا التعامل مع Bitly من أجل تقصير الروابط بواسطة Node.js بواسطة هذه المكتبة:
ماذا عنك؟ مالذي تعملته اليوم؟
Interface هو كلاس عادى ولكن كافة الدوال التى به غير معرفة (Abstract) ولا محتوى بها .. وذلك حتى يتم إلزامك حينما تقوم بالوراثة منه أن تقوم بملئ كافة هذه الدوال
abstract هو كلاس عادى به دوال معرفة ولكن أيضاً يحتوى على بعض الدوال غير معرفة (Abstract) ولا محتوى بها
و لا يمكن أن تنشئ من أى منهما object مباشرة ... ولكن يجب أن ترثهما و تقوم بملئ المحتوى الغير معرف فيهما أولاً
Abstract : مجرد
قد كانت لدي هذه المعلومات من قبل لكن لم يكن لدي فهم لماذا استخدمها.
ما تعلمته عن Interface هي أنها تقوم بالفصل بين كائنين (Two Objects) أحدهما يعتمد على الاخر بحيث أن يقوم الكائن الأول بطلب خدمة معينة من الكائن الثاني دون الحاجة الى معرفة كيف يقوم بهذه المهمة.
فمثلا مثلما تعلمت في الجافا اذا كان يوجد لدي كائن يحتاج الى مدخلات عن طريق المفاتيح فانه لا يقوم بالاتصال مباشرة بكائن يتعامل مع لوحة المفاتيح بل يكون هناك Interface يتولى ربطهما مع بعض وا يكون الربط فقط عن طريق لوحة المفاتيح بل يتضمن ايضا برنامج لوحة المفاتيح الموجود في النظام أو أي وسيلة ادخال أخرى.
وهنا يمكن للبرنامج أن يقبل المدخلات من أي لوحة مفاتيح مهما كان نوعها.
بالضبط أخى الكريم , ال interface هو يلزمك بآداء كافة المهام و لكن على طريقتك
لذلك هو يستخدم فى وضع البروتوكولات .. فبروتوكول ال FTP مثلاً تكون فيه دالة ما لتحديد نوعية الملف قبل نقلها و هذه الدالة يجب أن ترجع إمتداداً معيناً ( String )
لذلك يمكنك و أنت تنشئ برنامج للتعامل مع بروتوكول FTP أن تكتب ما شئت بداخل الدالة ولكن بشرط ان ترجع الدالة نفس الناتج
و هكذا لباقى دوال البروتوكول
و كذلك للمثال الذى ذكرته ... اكتب ما شئت فى كلاس التعامل مع ال keyboard و لكن التزم بالدوال الخاصة بال interface كلها وإملئها كلها
التعليقات