ارسال پاسخ 
 
امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
آشنایی با برنامه نویسی سی شارپ و مفاهیم شی گرایی
05-07-2016, 08:55 PM
ارسال: #1
آشنایی با برنامه نویسی سی شارپ و مفاهیم شی گرایی
C# چيست؟
همانطور که در قسمتهاي قبلي نيز ذکر شد C# يکي از زبانهاي برنامه نويسي است که بوسيله ان مي توان برنامه هايي با قابليت اجرا در .NET CLR توليد کرد زبان C# در حقيقت نسخه کامل شده ي زبانهاي برنامه نويسي C++ , C است که بوسيله مايکروسافت براي کار با چارچوب .NET بوجود امده است . با توجه به جديد اين زبان برنامه نويسي ، در ايجاد ان سعي شده است که از ويژه گيهاي خوب زبان برنامه نويسي ديگر الهام گرفته شود و نيز کاستي هاي ان زبانها برطرف شود .
ايجاد يک برنامه در محيط C# بسيار راحت تر از ايجاد يک برنامه در محيط ‍‍C++ است . علاوه بر اين سادگي ، C# زبان قدرتمندي نيز محسوب مي شود به نحوه ي که اغلب کارهايي که در C++ امکان پذير است در C# هم مي توان انجام داد . بعضي از ويژگيهاي C# که هم سطح با ويژگيهاي پيشرفته در C++ هستند ، همانند قابليت دسترسي مستقيم به حافظه و نيز تغيير ان ، باعث مي شوند که کدهاي يک برنامه به عنوان کد نا امن در نظر گرفته شود .
استفاده از اين تکنيکهاي پيشرفته برنامه نويسي ، عموما خطرناک هستند زيرا ممکن است باعث شوند قسمتهاي مهم حافظه که اطلاعات سيستم عامل در ان قرار دارد به طور ناخواسته تغيير کند وسيستم متوقف شود .
بعضي مواقع کدهاي زبان C# طولاني تر از کدهاي زبان C++ هستند . علت طولاني بودن اين کدها به اين خاطر است که C# بر خلاف C++ يک زبان نوع-امن است . در اصطلاح اين لغت به اين معني است که هنگامي که نوع داده اي يک متغير مشخص شد ، ان متغير نمي تواند به يک نوع داده اي ديگر که به ان مرتبط نيست تبديل شود.
علاوه بر اين مورد يک سري محدوديتهاي ديگر نيز هنگام تبديل يک نوع داده اي به نوع داده اي ديگر نيز وجود دارد که باعث مي شود کدهاي C# طولاني تر از کدهاي C++ شوند، اما در مقابل کدهاي C# از پايداري بيشتري برخوردارند و نيز خطا يابي در انها ساده تر است .
البته C# فقط يکي از زبانهاي برنامه نويسي است که براي طراح ي برنامه تحت .NET ايجاد شده است ، اما به نظر من مطمئنا بهترين زبان براي اين کار است. يکي از دلايل اين امر اين است که زبان C# از پايه براي استفاده در محيط .NET ايجاد شده است و معمولا در پروژه هايي که در رابطه با انتقال .NET به سيستم عامل هاي ديگر است ، مانند Mono از اين زبان استفاده مي کنند. در زبانهاي ديگر ، مانند نسخه .NET زبان ويژوال بيسيک ، براي اينکه شباهت با نسلهاي قبلي خود را حفظ کنند ، يکسري از قسمتهاي CLR پشتيباني نمي شود . در مقابل با استفاده از زبان C# مي توان از تمام ويژگيهاي ارائه شده به وسيله .NET در برنامه استفاده کرد .

چه نوع برنامه هايي را مي توان با استفاده از C# انجام داد ؟ ‍
همانطور که گفتم ، در .NET هيچ محدوديتي براي نوع برنامه هاي قابل اجرا وجود ندارد . زبان C# نيز از چارچوب .NET استفاده مي کند ، بنابراين هيچ محدوديتي در نوع برنامه هاي که مي توان با اين زبان انجام داد وجود ندارد . اما بيشتر برنامه هاي که با C# نوشته مي شوند جزء يکي از دسته هاي زير هستند :
برنامه هاي مبتني بر ويندوز : اين نوع برنامه ها همانند Office برنامه هايي هستند که داراي ظاهر اشناي برنامه هاي ويندوزي هستند .اين نوع برنامه ها بوسيله فضاي نام مربوط به برنامه هاي ويندوزي در چارچوب .NET نوشته مي شوند .اين فضاي نام شامل کنترلهايي از قبيل دکمه هاي فرمان ، نوار ابزار ها ، منوها و ... است که بوسيله انها مي توان رابط گرافيکي برنامه را طراحي کرد.
برنامه هاي مبتني بر وب : اين نوع برنامه ها شامل يک سري صفحات وب هستند که ممکن است تا کنون به وسيله مرورگرهاي مختلف اينترنت انها را مشاهده کرده باشيد . چارچوب .NET داراي يک سيستم قوي براي ايجاد اتوماتيک صفحات وب وتامين امنيت انها و ... است . اين سيستم .NET ASP ناميده مي شود و شما مي توانيد با استفاده از زبان C# وسيستم .NET ASP برنامه اي مبتني بر وب ايجاد کنيد .
سرويسهاي وب : وب سرويس ها يک روش جديد و جالب براي ايجاد برنامه هاي توزيع شدني مبتني بر وب هستند . با استفاده از وب سرويس ها مي توانيد هر نوع اطلاعاتي را از طريق اينترنت بين برنامه ها منتقل کنيد.
در اين مورد زبان مورد استفاده در برنامه و يا سيستم عاملي که برنامه در ان اجرا مي شود اهميتي ندارد . به عبارت ديگر برنامه ي شما که تحت .NET و سيستم عامل ويندوز نوشته شده است ميتوانيد با برنامه هاي ديگر که تحت سيستم عامل هاي ديگر عمل مي کند تبادل اطلاعات داشته باشد .
در هر کدام از اين برنامه هايي که در بالا ذکر شد ممکن است به دسترسي به يک بانک اطلاعاتي نياز پيدا کنيد .براي اين منظور در .NET بايد از سيستمي به نام .NET ADO استفاده کنيد .

اشنايي با شئ گرايي
ساختن اشيا :

از زماني که با کامپيوتر اشنا شديد تا کنون ممکن است واژه شئ گرايي را زياد شنيده باشيد . ممکن است شنيده باشيد که اين مبحث ، يکي از مباحث سخت و غير قابل درک برنامه نويسي است . در سالهاي اول که اين نوع برنامه نويسي بوجود امده بود اين گفته صحت داشت ، اما زبانها و ابزارهاي مدرن امروزي باعث شده اند برنامه نويسي شئ گرا به مبحثي بسيار ساده تبديل شود . برنامه نويسي شئ گرا منافع زيادي را براي توسعه گران نرم افزاري دارد ، به همين دليل زبانهاي برنامه نويسي مانند C# , C++ و ويژوال بيسيک و ... سعي کرده اند به نحوي رشد کنند که به سادگي بتوان بوسيله انها برنامه هاي شئ گرا را طراحي و پياده سازي کرد .

مفهوم اشيا :
يک شئ در دنياي واقعي اغلب هر چيزي است که بتوانيد تصور کنيد . معمولا در تمام طول روز در حال کار کردن با اشياي فيزيکي مانند تلويزيونها ، اتومبيلها ، مشترکين ، گزارشات ، لامپ ها و يا هر چيز ديگري هستيد . در کامپيوتر ها نيز يک شئ مشخص کننده هر چيزي است که در کامپيوتر مي بينيد و يا در برنامه ها يتان از ان استفاده مي کنيد . براي مثال فرم برنامه ، دکمه هاي نوار ابزار ، گزينه هاي موجود در منوها و ... همه نمونه هايي از اشيا در کامپيوتر هستند . اشياي ديگر نيز در کامپيوتر وجود دارند که نمود ظاهري ندارند اما در بخشهاي مختلف برنامه بکار مي روند مانند شئ براي کنترل کاربران يک برنامه کاربر برنامه چنين شئ را در برنامه نمي بيند اما در طول اجراي برنامه اين شئ وجود دارد و وظايف خود را انجام مي دهد .
[تصویر:  6359829258061853480Capture.JPG]
کپسولي بودن :
مفهوم اصلي که در پشت شئ گرايي قرار دارد کپسولي بودن است . اين مفهوم با وجود ساده بودن ، از اهميت زيادي برخوردار است . ايده کلي که کپسولي بودن ارائه مي دهد به اين صورت است که رفتار يک شئ تا حد ممکن بايد دور از ديد کاربر باشد . به عبارت ديگر تا زماني که لازم نباشد ، کاربر نبايد متوجه شود که يک شئ چگونه درخواستهاي او را انجام مي دهد.

متدها وخاصيت ها :
براي ارتباط با يک شئ از متدها و خاصيتهاي ان استفاده مي کنند . در تعريف انها مي توانيم بگوييم :
 متدها : روشهايي هستند که بوسيله ان مي توان به يک شئ گفت چگونه وظيفه خاصي را انجام دهد.
 خاصيت ها : اعضايي از يک شئ هستند که ويژگي ان را شرح مي دهند .
تعريف کامل متد که فقط در برنامه نويسي شئ گرا صادق است ، عبارت است از کدهايي که به يک شئ مي گويند چگونه وظيفه مشخصي را انجام دهد .
بنابراين براي روشن کردن يک تلويزيون بايد متدي را پيدا کنيد که اين کار را انجام دهد ، زيرا همانطور که گفتيم اين متد ها هستند که به يک شئ مي گويند چگونه يک وظيفه مشخص را انجام دهند . هنگامي که متد مربوط به اين کار را فراخواني مي کنيد ، فرض مي کنيد که شئ به واسطه اين متدها مي داند که چگونه درخواست شما ار انجام دهد .
خاصيت ها نيز براي تنظيم حالتها و ويژگيهاي يک شئ به کار مي روند . در اين مورد نيز وظيفه شئ است که با توجه به حالتي که براي ان تعريف شده است عمل کند . براي مثال هنگامي که بخواهيد کانال يک تلويزيون را از 4 به 3 تغيير دهيد کافي است که مقدار خاصيت مربوط به کانال را برابر با 3 قرار دهيد و تلويزيون بايد با توجه به مقدار اين خاصيت تصوير را در صفحه نمايش دهد .


==================================================
طراحی وب سایت
پروژه های برنامه نویسی تجاری
دانلود پروژه های ASP.NET وب سایتهای آماده به همراه توضیحات
دانلود پروژه های سی شارپ و پایگاه داده SQL Server همراه توضیحات و مستندات
دانلود پروژه های UML نمودار Usecase نمودار class نمودرا activity نمودار state chart نمودار DFD و . . .
دانلود پروژه های حرفه ای پایگاه داده SQL Server به همراه مستندات و توضیحات
پروژه های حرفه ای پایگاه داده Microsoft access به همراه مستندات و توضیحات
دانلود پروژه های کارآفرینی
دانلود گزارشهای کارآموزی کارورزی تمامی رشته های دانشگاهی
قالب تمپلیت های آماده وب سایت ASP.NET به همراه Master page و دیتابیس
برنامه های ایجاد گالری عکس آنلاین با ASP.NET و JQuery و اسلایدشو به همراه کد و دیتابیس SQL کاملا Open Source واکنشگرا و ساده به همراه پایگاه داده
==================================================
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان