دروس كمبيوتر وصيانة دروس حاسب دروس مجلة  درس نيوك phpnuke الدروس دروس مسنجر MSN - yahoo - Gmail دروس منتديات vBulletin دروس الجوالات والهواتف دروس السي بنل cpanel دروس اكسس access دروس بيونت شوب برو - point shop pro دروس برمجة php - mysql دروس برامج منوعة software دروس ثري دي ماكس 3D max دروس جافا سكريبت JavaScript دروس دريم ويفر DreamWeaver دروس شبكات Networks دروس سويش - swish دروس فلاش - flash دروس فيجوال بيسك Visual Basic دروس فرونت بيج - frontpage دروس فوتوشوب photoshop دروس هكر hacker crack virus
مدخل إلى البرمجة غرضيّة التوجّه في السي شارب-- - سي شارب - #C
اعمال السعودية ينتهي في 8\10\1429 هـ روح القصيد ينتهي في 3\11\1429 هـ  ينتهي في20\10\1429 هـ
الحمادين ينتهي في 8\10\1429 هـ جريمة هزت مدينة الرياض ينتهي في 3\11\1429 هـ الجيل الجديد لخدمات الانترنت 8-8-1429
للاعلان بالموقع سعر الاعلان 400 ريال في كافة اقسام موقع مدرسة المشاغبين جويا نتهي في 20\10\1429 هـ للاعلان بالموقع سعر الاعلان 400 ريال في كافة اقسام موقع مدرسة المشاغبين
للاعلان بالموقع سعر الاعلان 400 ريال في كافة اقسام موقع مدرسة المشاغبين منتديات دلوعتي ينتهي في 16\11\1429 هـ للاعلان بالموقع سعر الاعلان 400 ريال في كافة اقسام موقع مدرسة المشاغبين
احصائيات سريعة
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد

اكثر المحتويات زيارة
الدوال في الاكسل (6,930 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (4,570 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (3,334 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (2,689 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (2,644 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (2,620 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (2,535 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (2,286 مشاهده)
دروس في الأوفيس الأكسس - Access0- (1,981 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,948 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,938 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,834 مشاهده)
تعريف الفن التشكيلي: (1,779 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,759 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (1,658 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (1,572 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,555 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,549 مشاهده)
التعرف على مكونات الكمبيوتر (1,490 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,475 مشاهده)
ما هو المات لاب MATLAB؟ (1,382 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (1,375 مشاهده)
درس تعريب المجلة (1,342 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (1,309 مشاهده)
مقدمة عن لغة البيسك (1,305 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (954 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (583 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (712 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (840 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (907 مشاهده)
دمج المراسلات0-- (521 مشاهده)
وضع صورة كخلفية للنص0-- (662 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (463 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (759 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (495 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,549 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (790 مشاهده)
أساسيات في Access0--0 (597 مشاهده)
تصميم تقرير لطباعة البيانات0---- (590 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (581 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (678 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (545 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (451 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (410 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (560 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (489 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (281 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (369 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (389 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (508 مشاهده)
اعلانات في الموقع على جميع الصفحات

مدخل إلى البرمجة غرضيّة التوجّه في السي شارب--

مدخل إلى البرمجة غرضيّة التوجّه في السي شارب




  بسم الله الرحمن الرحيم

 


مفاهيم البرمجة غرضيّة التوجه OOP Concepts:


كما تعلم أن لغة السي شارب لغة غرضية التوجّة،  سنتحدث في بداية هذه الدورة بمقدمة عن البرمجة الغرضيّة التوجه OOP - Object Oriented Programming بشكل مختصر بإذن الله...


ما هو الكائن:


لعل كل ما نراه في حياتنا اليومية من بشر وفواكه وحيوانات ووو هو كائن "object".... , لو نظرنا لفئة الحيوانات مثلا فالأسد والنمر والغزال والأرنب كلٌ منهم يمثل كائناً مستقلا بذاته, و له خصائص تميزه عن الآخر , ويقوم بسلوكيات ووظائف .

إذن لكل كائن خصائص يتميّز بها و سلوكيات يقوم بها ومن هذه السلوكيات تنتج أحداث، وبهذه الثلاث عوامل يتميز كل كائن عما سواه:




  1. خصائص properties: وهي ما نسميه في البرمجة Data.

  2. سلوكيات behavior أو وظائف يقوم بها: وهي ما نسميه بلغة البرمجة  Methods or Functions.

  3. أحداث Events: تخص الكائن وتنتج عن سلوكياته!

وكل كائن ( object )  ينتمي لفئة أعلى منه (class) فمثلا الفراولة هو كائن وهو ينتمي لفئة الفواكه, الأسد هو كائن وينتمي لفئة الحيوانات, السيارة والطائرة والسفينة هي كائنات وهي تنتمي للفئة التي هي وسائل النقل . وهكذا ...



فبينما كانت برامج السي هي عبارة عن مجموعة من الدوال functions, فإن برامج السي شارب هي مجموعة من الـclasses سواء كانت من صنع المبرمج (user defined) أو classes جاهزة في اللغة (built-in) , وهذه الـclasses بدورها تحتوي بداخلها على مجموعة من الدوال (methods) التي تؤدي الوظائف المعينة, و المتغيرات (Variables) التي تحمل Data، كما تحوي مجموعة من الأحداث! ويعرف هؤلاء الثلاثة (variables, methods, and events) بالأعضاء members.


 Information Hiding:


 لنأخذ مثال السيارة على أنها كائن object , سائق السيارة ليس من الضروري أن يعرف كيف تم صناعة العجلات أو محرك السيارة أو أو أو , ولكن المهم في الموضوع أن يعرف السائق كيف يستطيع استخدام هذه السيارة .
وكذلك أي كائن في السي شارب ليس من الضروري أن تعرف كيف تم عمله (implementing) أو البيانات الخاصة به, بل كل ما عليك هو معرفة كيفية استخدامه.
تذكر عندما تكتب برامجك في المستقبل أن تجعل هناك بيانات خاصة بالكائن لا تستطيع الكائنات الأخرى الاطلاع عليها وهذا ما يعرف بمفهوم الـ "information Hiding " وغالبا ما تكون الـData والتي تمثل بواسطة variables هي المخفية في البرنامج أي نعرفها بـprivate, بينما الدوال (methods) هي العامة أي تعرف كـ public لكي يتمكن المبرمج من استخدامها وإن خفي عليه كيفية تمثيلها!


 مفهوم الـ namespaces أو فضاء الأسماء :


 من المؤكد أنك لاحظت وجود السطر التالي عند إنشاء أي برنامج بالسي شارب :


 using system ;


والتي يتم إنتاجها مباشرة من قبل الـ visual studio تدل على أن البرنامج الحالي يستخدم جميع الخصائص التي توجد بداخل الـSystem namespace , ومن أعظم نقاط القوة في هذه اللغة هي أنها توفر العديد من الـ namespaces والتي تحوي بداخلها على الأكواد الجاهزة التي لا يلزم المبرمج سوى استدعاء مثل هذه الملفات واستخدامها مباشرة "دون الحاجة لإعادة تصنيع العجلة !!!" .
أي شيء في السي شارب يكون داخل class, وأي class لابد أن يكون بداخل namespace (بالضبط مثل الملف داخل المجلد).
وتستطيع الوصول لأي class داخل namespace معين عن طريق الـ( . ) "dot qualifier " ..

/* لا تنزعج إذا رأيت الأمور ليست واضحة تماما لأنها ستتضح لك أكثر مع مرور الوقت وكتابة البرامج إن شاء الله. */

 كيفية إنشاء class ثم كائن منه "object" :


كما أنه في حياتنا الواقعية كل كائن يرث جميع خصائص الـ class الذي ينتمي إليه فإننا سنتعلم في السي شارب كيف نشتق كائن من class ليمثل هذه الفئة و يرث جميع صفاتها و خصائصها .

• لو قمنا بإنشاء console Application كالتالي فإننا سنلاحظ أن تولدت لدينا بعض الأسطر مباشرةً:



نلاحظ أنه على الأقل لا بد من وجود class واحد في البرنامج, ويمكن أن يكون أكثر من ذلك ..
يبدأ تعريف أي class بكتابة الكلمة المحجوزة class  ويليها اسم هذا الكلاس و الاسم سيكون اختياري بالطبع ويخضع لشروط اختيار أسماء المتغيرات Variables والتي تعرفها بالتأكيد كأن لا يبدأ الاسم برقم ولا يحتوي على رموز ...... ألخ!
لابد عندما تريد إنشاء هذه الفئة class فإنك تفكر في أن تشتق منها كائنات تنتمي لهذه الفئة وترث منها جميع صفاتها أليس كذلك ؟....
لنقوم الآن بكتابة برنامج بسيط وننشئ فيه class ومن ثم نشتق كائنا من هذا الـ class و سنرى كيف يمكن لهذا الكائن أن يصل لأي دالة من دوال الكلاس.



أنشأنا (two classes (Class1 & Class2..

Class1 :
يحوي الدالة Main والتي تعتبر نقطة بداية تنفيذ البرنامج بالتالي سنخصص هذا الكلاس لإنشاء ممثل (كائن) من الكلاس Class2.
 

Class2 :
السطر(7): عرفنا المتغير( i ), و هنا أشير إلى أن المتغيرات التي يتم تعريفها داخل الـ class وليس بداخل دالة من دوالها مثل المتغير " i " هنا, تسمى  instance variable
و الكلمة المفتاحية private والتي تسبق تعريف هذا المتغير تسمى Access modifier , بحيث أن المتغيرات و الدوال التي يتم تعريفها بواسطة private يمكن الوصول إليها فقط من داخل الكلاس الحالي وهذا يعرف بمفهوم الـ data hiding , بينما أن المتغيرات والدوال التي يتم تعريفها بواسطة public يمكن الوصول إليها من داخل و خارج الكلاس الحالي .
و لتعلم أنه أي instance variable or method يجب أن يكتب لها أي نوع من الـ access modifiers .

في الأسطر (10 - 13) عرفنا الـ Constructor للـ Class2 , وهنا قد تتساءل ما هو الـConstructor وما هي صفاته؟!!
الـ constructor مصطلح من مصلحات الـOOP ويعني المنشئ، نقصد بهذا المكان الذي ينشأ منه الكائن.
وهو كأي دالة ممكن أن يكون له Argument أي بارميتر مرسله له. كما لابد من أن يأخذ دائما نفس اسم الكلاس ويعرف بأنه Public دائما.


عندما نقوم بإنشاء object من الكلاس class2 بواسطة الكلمة new كما سنرى فيما بعد فإن الـ constructor يتم استدعائه مباشرة . الفرق الجوهري بين الـ constructor والدوال الأخرى هو أن الـ constructor لا يمكنها أن تعود بقيمة.
بداخلها وضعنا جملة طباعة عادية لنرى متى يتم طباعة هذه الجملة والتي منها سنعرف الوقت الذي يتم فيه مناداة الـ Constructor .

في الأسطر(15 -17) عرفنا الدالة Class2Method و وظيفة هذه الدالة هي أيضا جملة طباعة.


انتهينا الآن من توصيف الكود، فلننتقل إلى كيفية تفاعله مع بعضه البعض:

في الـ Class1 :
سنقوم بإنشاء كائن من الكلاس Class2 .
كما في السطر (26) بدأنا بكتابة اسم الكلاس الذي نريد إنشاء الـ object منه ثم اسم الكائن وهو اختياري أسميناه هنا Class2Object ثم new وهي كلمة مفتاحية بمجرد كتابتها يقوم الكومبايلر بحجز مكان في الذاكرة لهذا الكائن ثم مباشرة يقوم بنداء الـ constructor للكلاس Class2 .وبانتهاء هذا السطر نكون قد أنشأنا الكائن Class2Object من الكلاس السابق وما علينا هو فقط استخدامه، كيف يتم استخدامه؟ هذا ما ستعرفه في الأسطر التالية!!
في السطر (27 ) :
الآن بكتابة اسم الكائن متبوعا بـ ( . ) "the member access operator" نستطيع الوصول لأي دالة أو أي متغير من الكلاس Class2 شرط أن يسمح لنا بالوصول إليه و هو في حالتنا هنا Class2Method .
ويمكن أن نعمم هذا الميكانزم بواسطة المعادلة التاليةـ:


 referenceName . memberName


كما كتباناها:


 ()Class2Object . Class2Method


و لو قمنا بتشغيل البرنامج ستكون المخرجات كالتالي:



كما رأيت: تم تنفيذ الـConstructor حينما أنشأنا الكائن أولاً ثم تم تنفيذ الدالة التي قمنا بمناداتها Class2Method ..


وأخيراً ومن هنا نستنتج  دورة حياة الكائن :



وبذلك نكون قد استعرضنا بعض المفاهيم الأساسية في الـ OOP.


درس مدخل إلى البرمجة غرضيّة التوجّه في السي شارب--

أضف هذه المادة في موقعك:
مواد مشابهة:
الدرس الثاني عشر : عبارة break وعبارة continue الدرس الثاني عشر : عبارة break وعبارة continue
الدرس الثاني عشر : عبارة break وعبارة continue
(مرات المشاهدة: 112 مرات)
::نقاط مهمة في C#:: ::نقاط مهمة في C#::
::نقاط مهمة في C#::
(مرات المشاهدة: 238 مرات)
Data Types- Data Types-
Data Types-
(مرات المشاهدة: 69 مرات)
الدرس الخامس : مفهوم الذاكرة الدرس الخامس : مفهوم الذاكرة
الدرس الخامس : مفهوم الذاكرة
(مرات المشاهدة: 235 مرات)
::البرنامج الأول في C#::- ::البرنامج الأول في C#::-
::البرنامج الأول في C#::-
(مرات المشاهدة: 134 مرات)
الدرس السادس: العمليات الحسابية ومختصراتها الدرس السادس: العمليات الحسابية ومختصراتها
الدرس السادس: العمليات الحسابية ومختصراتها
(مرات المشاهدة: 441 مرات)
المتغيرات - Variables المتغيرات - Variables
المتغيرات - Variables
(مرات المشاهدة: 94 مرات)
::البرنامج الأول في C#::------------ ::البرنامج الأول في C#::------------
::البرنامج الأول في C#::------------
(مرات المشاهدة: 380 مرات)
أنواع البيانات – Data Types أنواع البيانات – Data Types
أنواع البيانات – Data Types
(مرات المشاهدة: 205 مرات)
كتابة ملفات الـ XML بكل سهولة باستخدام #C كتابة ملفات الـ XML بكل سهولة باستخدام #C
كتابة ملفات الـ XML بكل سهولة باستخدام #C
(مرات المشاهدة: 248 مرات)
جميع الحقوق في هذا الموقع محفوظة وكل المواد على الاقسام ملك لاصحابها :Copyright © All rights reserved