گروه مهندسی متین

حسابداری ، طراحی وب سایت ، گرافیک ، و اموزش نرم افزار

گروه مهندسی متین

حسابداری ، طراحی وب سایت ، گرافیک ، و اموزش نرم افزار

گروه مهندسی متین

حسابداری : اموزش کار با انواع نرم افزار ها
طراحی وب سایت و مشاوره خرید هاست و دامین
گرافیک : طراحی و چاپ انواع کارت ویزیت ، لوگو و ...
آموزش کار با نرم افزار فتوشاپ
تعویض و ارتقاع سیستم

بایگانی

مبانی برنامه نویس (پارت اخر )

دوشنبه, ۱۷ دی ۱۳۹۷، ۰۴:۳۱ ب.ظ

ادامه مطلب قبلی : 

به نام خدا

  نهان‌سازی: اشیا بدون اطالع از چگونگی کارکرد یکدیگر میتوانند با هم در ارتباط باشند.
  وراثت: یک کالس میتواند رفتار یا صفاتی را از کالس دیگر به ارث ببرد.
  چندریختی: اشیا میتوانند در موقعیتهای مختلف، رفتارهای متفاوتی از خود نشان دهند.
در فصل هفتم، مفاهیم برنامهنویسی شئگرا )ایجاد کالس و شئ( آموزش داده میشود. زبانهای ++C ،
Java و #C از جمله زبانهای برنامهنویسی شئگرا محسوب میشوند.
نرمافزارهای کاربردی
نرمافزارها انواع مختلفی دارند. به عنوان مثال، سیستم عامل ویندوز، یک نرمافزار سیستمی و نرمافزار حسابداری
هلو یک نرمافزار کاربردی است. هدف از نگارش این کتاب آموزش برنامهنویس ی نرم‌افزارهای کاربردی )�Ap
19 1 فصل C# نرمافزار معرفی C
Software plication )است. نرمافزارهای کاربردی نوعی از نرمافزارها هستند که در آنها ورود دادهها و خروج
ً از
اطالعات، بیشتر از محاسبات در واحد پردازشگر مرکزی )Unit Processing Central )است و معموال
پایگاه‌های داده )Bases Data )در آنها استفاده میشود. به عنوان چند نمونه از نرمافزارهای کاربردی میتوان به
موارد زیر اشاره کرد:
  سیستم حسابداری یک سازمان   سیستم اتوماسیون یک سازمان
  سیستم مدیریت کتابخانه یک دانشگاه   سیستم مدیریت یک هتل
زبان های #C ،Delphi++ ،C Visual و Java از جمله زبانهای قدرتمندی هستند که میتوان برای توسعه
نرم افزارهای کاربردی از آنها استفاده کرد.
در این کتاب برای توسعه نرمافزارهای کاربردی از زبان #C استفاده شده است. زبان #C به صورت اختصاصی
برای کار با چارچوب دات‌نت )Framework NET ).طراحی شده است. در ادامه، ضمن معرفی زبان #C ،
اصطالحات مرتبط با این زبان نیز بررسی میشود.
چارچوب دات نت
چارچوب دات نت یک فناوری نرمافزاری است که توسط شرکت مایکروسافت )Microsoft )برای سهولت در
طراحی و توسعه نرمافزار ایجاد شده است و حاوی مجموعهای از کالسهای کاربردی و مفید است. کالسهای
موجود در این چارچوب بخش وسیعی از نیازهای برنامهنویسی را تحت پوشش قرار میدهند. چارچوب داتنت
یک چارچوب کلی است و محدود به زبان برنامه نویسی خاصی نیست. مهمترین زبان های برنامه نویسی برای کار
در این چارچوب عبارتاند از:
 Visual C#  Visual Basic
 Visual C++  Visual F#
در چارچوب دات نت، یک برنامه که به زبان #C نوشته شده است به راحتی میتواند از کدی استفاده کند که
به زبان Basic Visual نوشته شده است و بالعکس )ویژگی چند زبانی(.
تغییر عمدهای که در برنامهنویسی با چارچوب داتنت نسبت به گذشته قابل مشاهده است، نحوه اتصال
به پایگاه داده است که میتوان از روش جدید NET .ADO استفاده کرد. در این روش، نحوه اتصال، خواندن و
نوشتن داده ً ها کامال متفاوت با روش قدیمی یعنی ADO است که این تفاوت، تسهیل در برنامهنویسی و سرعت
در تبادل دادهها را به ارمغان میآورد.
در مورد نوع برنامههایی که میتوان با چارچوب داتنت نوشت هیچ محدودیت قابل ذکری وجود ندارد.
میتوانید برای طراحی برنامههای کاربردی تحت ویندوز، برنامههای تحت وب، برنامههای تح ت کنسول )�Con
sole )و غیره از این چارچوب استفاده کنید.
اجزای چارچوب دات نت
چارچوب دات نت از چهار بخش اصلی تشکیل شده است که عبارتاند از:
1 .زبان مشترک زمان اجرا )Runtime Language Common :)CLR به عنوان هسته مرکزی چارچوب داتنت،
مدیریت اجرای برنامهها را برعهده دارد و در واقع CLR همان نقش ماشین مجازی جاوا )Virtual Java
Machine )را در سیستمهای مبتنی بر جاوا بازی میکند. CLR عالوه بر اجرای کد، وظایف دیگری از جمله
مدیریت حافظه و مدیریت نخ )Thread )را نیز انجام میدهد.
20 آموزش زبان برنامهنویسی #C
2 .کتابخانه کالس چارچوب )Library Class Framework :)این بخش حاوی مجموعهای عظیم از کالسها
است که برنامهنویسان میتوانند از آنها استفاده کنند و با سرعت بیشتری برنامههای خویش را توسعه دهند.
3 .سیستم نوع مشترک )System Type Common :)این بخش باعث ایجاد هماهنگی بین زبانهای مختلف
چارچوب داتنت میشود.
4 .مشخصات زبان مشترک (Specification Language Common :)CLS مجموعهای از ویژگیهای عمومی
را که بین زبانهای مختلف چارچوب دات نت مشترک است، توصیف میکند. چارچوب دات نت، جهت
پشتیبانی از ویژگی چند زبانی از CTS و CLS استفاده میکند.
CLSS کد تمام زبانهای مختلف چارچوب داتنت را به زبان سطح میانی مایکروسافت )�In Microsoft
Language termediate )و یا به اختصار MSIL تبدیل میکند. به عنوان مثال، میتوان یک کالس را توسط زبان
Basic Visual ایجاد کرد و در زبان #C از آن ارثبری کرد. در ادامه، با مفهوم کد MSIL بیشتر آشنا خواهید شد.
ترجمه برنامه و کد MSIL
یک برنامه که به زبان #C نوشته شده است قبل از اجرا باید به کدی تبدیل شود که برای سیستم عامل قابل فهم
باشد. به این کد، کد محلی )Code Native )میگویند. تبدیل یک کد از هر زبانی به کد محلی را کامپایل کردن
میگویند و عملی است که توسط کامپایلر انجام میشود. در چارچوب داتنت عمل کامپایل از دو مرحله تشکیل
شده است:
1 .تبدیل کد برنامه به کد MSIL :هنگامی که برنامهای را کامپایل میکنید، بالفاصله کد محلی تولید نمیشود.
در عوض کد شما به زبانی به نام MSIL تبدیل میشود. این کد برای سیستم عامل خاصی نیست و همچنین
منحصر به زبان #C نیز نیست. به عبارت دیگر، کد زبانهای دیگر چارچوب داتنت نیز هنگام کامپایل به
MSIL تبدیل میشوند. MSIL یک زبان شئگرا با گرامری مشابه زبان Assembly است.
2 .تبدیل کد MSIL یک برنامه به کد محلی سیستم عامل: این مرحله، وظیفه کامپایلر Time In Just و یا به
اختصار کامپایلر JIT است. این کامپایلر کد MSIL یک برنامه را دریافت کرده و آن را به کدی تبدیل میکند
که به وسیله سیستم عامل قابل اجرا باشد. بعد از اینکه این تبدیل توسط کامپایلر JIT انجام شد، سیستم عامل
میتواند برنامه را اجرا کند. همانطور که از نام این کامپایلر نیز مشخص است کدهای MSIL فقط هنگامی به
زبان محلی قابل فهم برای سیستم عامل تبدیل میشوند که بخواهند اجرا شوند.
در گذشته برای اجرای یک برنامه بر روی سیستم عاملهای مختلف نیاز بود که برای هر سیستم عامل، کد
برنامه را یک مرتبه به صورت کامل کامپایل کنید. اما در چارچوب داتنت نیازی به این کار نیست. زیرا، برای هر
نوع پردازنده و نیز هر نوع سیستم عامل یک نسخه از کامپایلر JIT وجود دارد. برنامه شما در هر سیستم عاملی
که اجرا شود، کامپایلر JIT موجود در آن سیستم عامل کد MSIL برنامه شما را )که مستقل از سیستم عامل و نوع
پردازنده است( دریافت کرده و کد محلی مناسبی تولید میکند تا برای سیستم عامل قابل فهم باشد.
شکل 1-3 ،مراحل کامپایل یک برنامه نوشته شده با زبان #C را نشان میدهد. همانطور که در شکل 1-3 نشان
داده شده است، کد برنامه شما هنگام کامپایل ابتدا به کد MSIL تبدیل میشود، سپس این کد قبل از اجرا توسط
کامپایلر JIT به کد محلی تبدیل شده و کد محلی به وسیله CLR اجرا میشود )با فرض اینکه CLR که مهمترین
بخش چارچوب دات ً نت است، قبال در آن کامپیوتر نصب شده باشد(.
معرفی زبان #C
شرکت سان مایکروسیستمز )Microsystems Sun )در سال 1999 طی قراردادی اجازه استفاده از زبان Java را 
21 1 فصل C# نرمافزار معرفی C
در اختیار شرکت مایکروسافت قرار داد تا در سیستم عامل خود از آن استفاده کند. همانطور که میدانید زبان
Java در اصل به هیچ پلتفرم )Platform )یا سیستم عامل خاصی وابسته نبود ولی شرکت مایکروسافت برخی از
مفاد قرارداد را زیر پا گذاشت و قابلیت مستقل از سیستم عامل بودن را از زبان Java حذف کرد. شرکت سان
مایکروسیستمز نیز پروندهای علیه شرکت مایکروسافت تشکیل داد و در نهایت شرکت مایکروسافت مجبور شد
تا زبان برنامهنویسی جدیدی ایجاد کند. در ابتدا نام این زبان، COOL( Language Oriented Object like C(
بود، هر چند در جوالی سال ۲۰۰۰ ،زمانی که شرکت مایکروسافت این پروژه را عمومی کرد، نام آن را به #C
تغییر داد.
زبان #C به صورت اختصاصی برای کار با چارچوب داتنت طراحی شده است. آخرین نسخه این زبان،
نسخه 2013 است که همزمان با چارچوب داتنت 1/5/4 در اکتبر سال ۲۰۱3 منتشر شد.
آندرس هجلزبگرگ )Hejlsberg Anders )طراح زبان برنامهنویسی �Del
phi ،سرپرستی تیم طراحان زبان #C را برعهده داشت. این زبان به شدت
از زبانهای ++C ،Java و Delphi تاثیر پذیرفته است. طراحان زبان #C
با الگوبرداری از مزایای زبانهای ++C و Java و نادیده گرفتن برخی
از امکانات تاملبرانگیز و کم استفاده در هر یک از زبانهای فوق، یک
زبان برنامهنویسی مدرن و شئگرا طراحی کردهاند. در مواردی حذف یا
تغییر برخی از ویژگیهای کم استفاده و درست درک نشده در هر یک
از زبانهای فوق، زمینهساز ایجاد یک زبان ایمن و آسان شده است. به
عنوان مثال، زبان ++C میتواند م ً ستقیما با استفاده از اشارهگرها عملیات
دلخواه خود را در حافظه انجام دهد، اما در صورتی که عملیاتی اینچنین
به درستی کنترل و هدایت نگردند، خود میتواند باعث بروز مشکالت
فراوانی شود. طراحان زبان #C ،با درک اهمیت این موضوع، این ویژگی
شکل 1-3 مراحل کامپایل یک برنامه در چارچوب داتنت
شکل 1-4 آندرس هجلزبرگ
سرپرست تیم طراحان زبان #C
22 آموزش زبان برنامهنویسی #C
را کماکان در آن قرار دادهاند ولی به منظور جلوگیری از استفاده نادرست و ایجاد اطمینانهای الزم، مسأله
حفاظت را نیز در این زبان مورد توجه قرار دادهاند. جهت استفاده از ویژگی فوق، برنامهنویسان میبایست
با صراحت و به روشنی درخواست خود را از طریق استفاده از واژههای کلیدی مربوطه اعالن کنند
)فراخوانی یک توانایی و استفاده از آن(.
یادگیری زبان #C برای افرادی که سابقه آشنایی با یکی از زبانهای برنامهنویسی ++C و یا Java را دارند کار
مشکلی نخواهد بود. حتی افرادی که آشنایی اولیه با زبان اسکریپتی JavaScript و یا دیگر زبانهای برنامهنویسی
نظیر Basic Visual را دارند، به راحتی میتوانند به زبان #C مسلط شوند.
دالیل انتخاب زبان #C برای یادگیری
زبان #C همزمان با طراحی چارچوب داتنت و با در نظر گرفتن مفاهیم و نیازهای جدید برنامهنویسی طراحی
شده است و به همین جهت است که شرکت مایکروسافت زبان #C را مادر چارچوب داتنت معرفی کرده است.
این مورد به تنهایی میتواند دلیل قانع کنندهای برای یادگیری این زبان باشد، اما دالیل متعدد دیگری نیز وجود
دارد که در ادامه به برخی از آنها اشاره میشود:
  به عنوان یک زبان استاندارد برنامهنویسی توسط انجمن تولیدکنندگان کامپیوتر اروپا )ECMA )با شماره
استاندارد 334-ECMA در سال 2001 ثبت شده است.
  به عنوان یک زبان استاندارد برنامهنویسی توسط سازمان بین‌المللی استانداردها )ISO )با شماره استاندارد
23270 IEC/ISO در سال 2003 ثبت شده است.
  در حال استاندارد شدن توسط موسسه ANSI است.
  طبق فهرست منتشر شده در سایت معتبر تیوب )com.tiobe.www ،)زبان #C یکی از محبوبترین زبانهای
برنامهنویسی است. این فهرست هر ماه یک بار بر مبنای کار مهندسان ماهر، دورههای آموزشی برگزار شده
و فروش زبانها بروز میشود و حتی از موتورهای جستجو نظیر گوگل، یاهو و آمازون نیز برای محاسبه
رتبهبندی استفاده میشود.
  زبان #C از زبانهای ++C و Java متولد شده است. بنابراین، برنامهنویسانی که ً قبال با این زبانها آشنایی
داشتهاند به راحتی میتوانند به زبان #C مسلط شوند.
 آینده صنعت نرمافزار در دستان چارچوب داتنت است و چون زبان #C به عنوان مادر چارچوب
داتنت شناخته میشود، از اهمیت بسزایی برخوردار است و از پشتیبانی شرکت مایکروسافت برخوردار
خواهد بود.
  منابع مناسب )فارسی و زبان اصلی( برای یادگیری زبان #C فراوان است.
  کدها و مثالهای کاربردی برای زبان #C فراوان است.
  برای پیادهسازی یک قطعه کد در زبان #C به حجم کدنویسی کمتری نیاز است. به عنوان مثال، خیلی از
جمالت در زبان ژاپنی ممکن است تنها به دو کلمه احتیاج داشته باشند در حالی که در برخی زبانها مثل
زبان فارسی شاید نتوان اغلب این جمالت را با تنها دو کلمه بیان کرد.
  توسعه سریع نرم‌افزار )Development Application Rapid )در زبان #C امکانپذیر است.
23 1 فصل C# نرمافزار معرفی C
 خودآزمایی
1 .چند مورد از مزایا و معایب سبک برنامهنویسی ساختیافته را بیان کنید.
2 .چند مورد از تفاوتهای سبکهای برنامهنویسی ساختیافته و شئگرا را بیان کنید.
3 .سه اصل نهانسازی، وراثت و چندریختی را همراه با مثال شرح دهید.
4 .زبانهای برنامهنویسی به چند دسته تقسیم میشوند؟
5 .چند مورد از ویژگیهای زبان برنامهنویسی #C را بیان کنید.
6 .اجزای اصلی چارچوب داتنت را نام برده و هرکدام را مختصراً شرح دهید.
7 .چهار زبان رسمی چارچوب داتنت را نام ببرید.
8 .مراحل کامپایل یک برنامه در چارچوب داتنت را شرح دهید.

اومید وارم از این مطلب هم لذت کافی را برده باشید 

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی