![]() |
دورة السي شارب #c الجزء الاول - الفصل صفر – أساسيات
بسم الله الرحمن الرحيم والسلام عليكم ورحمة الله وبركاتة عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع دورة السي شارب #C الجزء الاول - الفصل صفر – أساسيات أنشئ مشروعا جديدًا من قائمة النماذج Templates حدد مشاريع لغة #C، اختر نوع النوافذ Windows واختر Console Application، سمّ مشروعك واضغط OK للحصول على مشروع جديد. ملاحظة · افتراضياً، اسم المشروع هو ConsoleApplication1، ويزداد الرقم تلقائيا مع كل مشروع جديد. عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع مباشرةً بعدَ أن يُنشأ المشروع، سيتم إعطاءك الأسطر البرمجية التالية كهدية، لا تفرطّ فيها، فكل سطر برمجي له وظيفة محددة لن تعملَ دونهَ. عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع كما تلاحظ تمّ تقسيم هذه الأسطر إلى فئتين، الأولى مكتبات من خلالها تتمكن من تنفيذ الأكواد، ويمكن استخدام مكتبة ما من خلال البادئة using والتي تعني "باستخدام"، أي باستخدام المكتبة الفلانية، قم بتنفيذ أكواد برنامجي. الفئة الثانية، هي البرنامج بحد ذاته. بالعودة للبادئة using، هي كلمة محجوزة وظيفتها إخبار #C أنك ستستخدم إحدى طرق وفئات فئة رئيسية ما أسميناها مكتبات دون تكرار اسم المكتبة الأم سواءً أضفت المكتبة إلى مراجع البرنامج أم أنها من المراجع الرئيسية فيه، إذا كنت جديدًا على #C لاتشغل بالك كثيرًا بها ومعمرور الأكواد ستؤلفّ كتاباً بها إن أردت، ماعليك إلا أن تفهم المبدأ الآن فقط. تعتبر #C من اللغات كائنية التوجه OOP، وفي مثل هذه اللغات يعتبر كل شيء عبارة عن كائن Object، سنتعامل لاحقا مع مربعات رسائل، قوائم منسدلة، وأدوات مختلفة، كل ماسبق عبارة عن كائنات بما فيها برنامجك هو الآخر كائن. ولكل كائن خصائص تميزه عن الكائنات الأخرى وأفعال يقوم بها وأحداث تمر بها. في برامج #C يتمثل الكائن بفئة Class – أو قد يترجم للغة العربية بكلمة خلية – ويُسبق باسم الفئة، محتويات كل فئة تحصر ما بين قوسين معقوفين.{ } إن كل فئة تحوي أقسامًا وفئاتٍ داخها، ولاستخدام الفئات الفرعية يُكتب اسم الفئة، نقطة، الفئة الفرعية، نقطة، .. وهكذا حتى الوصول للفئة أو الطريقة أو الخاصية المطلوبة. سترى لاحقا أن البرنامج مؤلف من فئات أو صفوف Classes، وهذه الفئات تحتوي على أفعال وخصائص كما أشرت، هذه الأفعال تسمى طرقا Methods، وأي برنامج يجب أن يحوي الطريقة Main، حيث أن المترجم يقوم بالانتقال مباشرة إلى هذه الطريقة، ثم ينتقل للطرق والفئات الأخرى التي تنشئها أنت إذا كان هناك حاجة لذلك. ملاحظة :: · المترجم هو جزء من النظام، بالاشتراك مع البيئة البرمجية التي تتعامل معها ،يقوم بترجمة أكوادك من اللغة البرمجية التي تفهمها ،إلى لغة الآلة التي يفهمها الحاسوب، أي مجموعة أرقام مكونة من 0 و 1 مكررة بشكل كبير جدا. المنطق البرمجي في بداية تم عرض صورة معنونة بـ Programming logic، ومفادها أن البرمجة تعتمد على البيانات المخزنة، المعطيات، الحقائق والثوابت وكل ماهو معرفّ.. على عكس المنطق البشري الذي يتميز بالمرونة والتعلم الذاتي واكتشاف المجهول.. قبل أن ندخل في عالم البرمجة سنطرح مثالا يمكن لأي كائن حي مشتق من فئة البشر أن يفهمه.. لنفرض أنك أردت من أحدهم أمرا ما، فَ لِ تَ طل بَُ منه فإنك تأمره، والأمر يأتيعلى أكثر من نوع.. فيكون دعاءًا إذا كان من الأدنى للأعلى، كما يكون أمرًاإذا كان من الأعلى للأدنى.. وأنت عندما تتعامل مع الكمبيوتر – كمبرمج أو مستثمر – فإنك تأمره، لذلك فأوامرك مطاعة )إلى ح دٍّ ما، وبشروط..( لنعد لفرضيتنا، إذا أردت أمر أحدهم أن يعطيك كوب ماءٍ مثلا، فإنك ستستخدم الأمر التالي: ;()أحضر_الماء لاحظ أن إحضار الماء هو عبارة عن فعل، والأفعال هي الطرق Methods في #C، لذلك فعليك عند إصدار الأمر وضع قوسين )(، يمكنك إصدار تفاصيل أخرى مع الأمر وذلك بوضعها بين هذين القوسين. وعندما ترغب بشرب الماء فإنك تستخدم الأمر التالي: ;()شرب.الكوب الكوب هو كائن مشتق من فئة أوانٍ منزلية، لشرب الماء منه فإنك ستقوم بإحدى الأفعال الممكنة مع الأكوب وهي شرب الماء، وبشكل منطقي لا يمكنك مثلا القيام بأفعال مثل الدردشة مع الكوب ، أي أن هناك أفعال بشكل منطقي وفطري وطبيعي بإمكانك القيام بها مع الكوب، والتي ستخطر على بالك بمجرد التفكير بالكوب أو مشاهدته، وفي البرمجة لمشاهدة كائن أو التفكير به عليك كتابة اسمه ثم نقطة فيظهر كل مايميزه عن الكائنات الأخرى من صفات وأفعال وظروف تمر عليه. وأما إذا أردت تعبئة الكوب بالعصير مثلا فإنك تستخدم الأمر: ;(عصير)تعبئة.الكوب ومعناها أنك ترغب بتعبئة الكوب بالعصير، حيث أن ما بين قوسين هي تفاصيل تحدد مميزات الفعل الذي يتم القيام به كما اتفقنا. لاحظ الكلمات العربية البسيطة هذه، بتغييرها إلى الإنكليزية فقط فإنك قد كونّت أكوادا برمجيةً ذات معنى!! لكن لحظة، كيف يفهم الكمبيوتر علينا؟؟ أو بمعنى آخر هذه الكلمات المكتوبة باللغة الإنكليزية، كيف يعرف الكمبيوتر أنها أكواد؟؟؟ لأنه بالتأكيد ليست أية كلمة كودًا برمجياّ.. حتما هناك كلمات محددة تكتب بطريقةمحددة هي فقط أكواد اللغة. في الواقع فالجواب على هذا السؤال يحتاجشرح مفهومين أساسيين في أي لغة، هما IDE وCompiler. الـ IDE أو بيئة التطوير المتكاملة هي أقرب ماتكون إلى محرر نصوص يستقبل منك الكلمات الإنكليزية ويعالجها ليتأكد من أنها أكواد ويحلل نوعها فقد تكون متغيرات أو كلمات محجوزة أو طرق أو عبارات نصية، أو قد لا تمثل شيئا أصلا.. كما أن بعض بيئات التطوير تعطيك ميزات أكثر من الأخرى، فقد تجد في بعض اللغات أنه عند كتابة أسطر برمجية فإنها ستتحاذى بشكل معين .. في حين أن هذا الأمر غير موجود في لغات أخرى. والجدير بالذكر أن بيئة التطوير تعطيك إشارة على مكان وجود خطأ ضمن أسطرك البرمجية، أي أنها ستكون يدك اليمنى طوال حياتك.. ومن هنا فإن بيئة التطوير المتكاملة وظيفتها استقبال الأكواد منك، وبعدها يأتي دور الـ Compiler أو المترجم والذي شرحناه في ملاحظة سابقة. وبشكل عام فإن أي لغة تتكون من مصطلحات – هي كلمات محجوزة – وقواعد كتابة، بالربط بينها تحصل على لغة البرمجة.. كما هو الحال في اللغات الإنسانية. وبالمناسبة: بإمكانك إنشاء لغة برمجة . كما أن هناك لغات برمجة عربية )فاجأتك صحيح؟(. أكواد أساسية – الفئة Console عند تعاملك مع المشاريع من النوع ConsoleApplication فالفئة Console هي أكثر كائن ستتعامل معه، رأينا منذ سطور كيفية استخدام طرق الفئات، وذلك عبر استخدام نقاط تفصل بين الفئات والطرق الفرعية فيها ،وذلك حتى الوصول للطريقة أو الخاصية المطلوبة. إن الفكرة من وجود الفئات هو تسهيل البرمجة إلى حد كبير، بحيث تُعطى أنت الأكواد الجاهزة على البارد المستريح، وتقوم ببرامج على أكمل وجه بنفس الفكرة التي أعطت ميكروسوفت مكتبات API الخاصة بها لزبائنها ،حيث إن هذه الأكواد الجاهزة لا تراها وإنما مكتوبة ضمن ملفات معينة. استخدام خصائص وطرق الفئات سأشرح فكرتين نظريتين مرت معنا في الفقرات السابقة: الفكرة الأولى: لاستخدام أي كائن جاهز في نظام التشغيل دون أن تبرمجه من الصفر عليك استخدام طرق وخصائص الكائن System، وهو كائن يمثل نظام التشغيل، جعلته ميكروسوفت متداولاً ليتمكن الجميع من إنشاء كائنات مشابهة لكائناتها. لولاه – ولولا كائنات أخرى – كان عليك برمجة كل شيء من الصفر، حتى النوافذ والأزرار وصناديق النصوص وكل ما تأخذه بنقرة زر. الصيغة التالية توضح كيفية استخدام خصائص وطرق الطرق والكائنات: System.Console.خاصية أو طريقة; الصيغة السابقة معناها ككود أنك تطلب من #C أن يتعامل مع System ضمن الفئة Console ليأتي بالخاصية أو الطريقة المعينة لتقوم بأمر ما. الفكرة الثانية: إنه من الصعب وغير المجدي أن نكرر الكلمات في الأكواد خصوصا إذا كانت هذه الكلمات ستكون في الكود بأكمله ،حيث أن لغات البرمجة عالية المستوي كان أحد أهدافها تقليل عدد الكلمات التي تكتبها لإنجاز نتيجة ما .بالتأكيد برنامجك لن يحتوي على كود واحد، وسيتكون من مئات الأكواد كحد وسطي، هل أنت متخيل كتابة كلمة System مئات المرات؟ الصيغة التالية توضع كيفية استخدام خصائص وطرق الكائنات أو الفئات وذلك بكتابة اسم الكائن أو الفئة الأم مرة واحدة: عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع وهذا ماسنناقشه لاحقا. هناك الكثير من الطرق والخصائص التي من الممكن أن تستفيد منها في حياتك البرمجية وسأسرد لك أكثرها تكرارًا: :::::::::::::::::::::::::::::::::::::::::::::: عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع :::::::::::::::::::::::::::::::::::::::::::::: |
| الساعة الآن 04:22 PM |
مرحبا بكم في منتدي اكواد لتطوير الالعاب
new notificatio by 9adq_ala7sas