لینک پرداخت و دانلود *پایین مطلب*
فرمت فایل:Word (قابل ویرایش و آماده پرینت)
تعداد صفحه80
مقدمه...................................................................................................1
++C ..................................................................................................1
تاریخچه...........................................................................................1
ساختار برنامه ها...............................................................................1
جاوا .....................................................................................................1
تاریخچه...........................................................................................1
تکامل جاوا ......................................................................................2
ویژگیهای زبان جاوا .............................................................................3
....................................................................4C++ مقایسه اجمالی جاوا و
شی ئ گرایی ........................................................................................6
دلایل استفاده از شی ئ گرایی..................................................................7
شیئ گرایی و طبیعت ..............................................................................7
تاریخچه زبان های شیئ گرا.......................................................................7
بدون شیئ گرا .......................................................................................7
Abstraction چیست؟...............................................................................8
سه اصل oop .........................................................................................9
کپسول سازی encapsulation ...................................................................9
آبجکتها (Objects) ................................................................................10
وراثت Inheritance..............................................................................11
چند شکلی( polymorphism).................................................................15
مقایسه اصل شی گرایی در ++C و جاوا..................................................17
مقایسه کپسول سازی در جاوا و C++ ....................................................19
مقایسه چند شکلی در جاوا و C++ ......................................................20
مقایسه وراثت (inheritance) در C++ و جاوا ...........................................21
وراثت در جاوا ......................................................................................21
دسترسی به اعضائ و وراثت .................................................................23
استفاده از Final با وراثت ......................................................................29
وراثت در C++ ...................................................................................32
مقایسه جاوا و C++
از نظر وراثت منفرد و چندگانه ................................................................33
مقایسه کلاس ها در C++ و جاوا ..........................................................34
کلاسها در جاوا ..................................................................................34
تعریف یک کلاس در جاوا ......................................................................38
سازندگان Constructors ......................................................................39
سازندگان Constructorsدر جاوا .............................................................39
سازندگان پارامتردار شده (parameterized) .............................................41
وقتی که سازندگان فراخوانی می شوند..................................................43
استفاده از کلاسهای مجرد (abstract)....................................................44
انباشتن روشها …...........................................................................48
انباشتن سازندگان Overloading constructors.....................................52
جمع آوری زباله Garbage collection..................................................55
کلاس ها در C ++..........................................................................55
تخصص حافظه به صورت پویا با
اشاره گرهای new و delete در ++ c..............................................57
ایجاد یک زیرکلاس در جاوا ...............................................................58
ایجاد سلسله مراتب کلاس .............................................................59
وراثت چگونه عمل میکند؟............................................................61
واسط ها (Interface) و
بستهها (Package) در جاوا .........................................................62
ایجاد یک سلسله مراتب
چند سطحی (Multilevel)............................................................63
استثنائات توکار جاوا ....................................................................67
کتابخانه های کلاس جاوا …...........................................................69
مدل نخ در جاوا ...........................................................................69
کشف کلاس رشته ای (string)......................................................73
جمع بندی(مزایای شیئ گرایی
در حوزه مهندسی نرم افزار).........................................................77
مقدمه:
++C
++C یک زبان برنامه نویسی همه منظوره و سطح بالا است. ++C یک زبان چندرگه است که از برنامه نویسی رویهای، تجرید دادهها و برنامه نویسی شئ گرا پشتیبانی میکند. ++C به همراه جد خود C از پرطرفدارترین زبانهای برنامه نویسی تجاری هستند.
زبان برنامهنویسی ++C یک زبان برنامهنویسی کامپیوتری سطح بالا و عمومی (با کاربرد های متنوع) می باشد. این زبان از تمام روش های مرسوم برنامه نویسی از قبیل برنامهنویسی شیگرا، برنامه نویسی ساخت یافته و برنامه نویسی پایه پشتیبانی می کند.
تاریخچه: زبان ++C در سال ۱۹۸۳ میلادی در آزمایشگاه های Bel (Bell Labs) توسط Bjarne Stroustrup و بر مبنای زبان سی و برای بهبود C، با افزودن امکانات برنامه نویسی شی گرا ساخته شد.در آن زمان نام ++C ,'سی با کلاسها`(c with classes) بود.این زبان در سال 1998 توسط موسسه ANSI استاندارد شد. این زبان از حوالی سال ۱۹۹۰ میلادی یکی از پرکاربردترین زبانهای برنامه نویسی به شمار می رود که برای برنامه نویسی سیستمی و برنامه نویسی ویژوال (بر مبنای GUI) در محیط های مختلف از قبیل ویندوز و لینوکس به صورت وسیع به کار می رود.
ساختار برنامه ها: ساختار برنامه ها در این زبان بدین صورت است که همانند زبان سی، هر برنامه بایستی یک تابع اصلی (main) به عنوان بدنه برنامه داشته باشد. هر برنامه معمولا از تعداد زیادی فایل تشکیل می شود که به هم الحاق می گردند (با دستور include) و به این فایل های الحاقی سرآیند (Header) میگوییم. فایل های الحاقی حاوی کد ها یا نسخه های اجرایی کلاس ها (مجموعه متغیر ها و توابع) می باشند که در بدنه اصلی برنامه از آنها استفاده می شود. معمولاً هر کلاس (که تعریف یک نوع داده ای با متد های مربوط به آن است) را در یک سرآیند مینویسند. هر سرآیند که معمولا تنها تعاریف (معرفی) کلاس را در خود دارد به همراه فایل های پیاده سازی به زبان ++C یا پیاده سازی های کامپایل شده (به صورت فایل اشیا مانند dll یا so یا ... ) می تواند به کار برده شود. به مجموعه های یکپارچه ای از کلاس های پیاده سازی شده (به صورت فایل های سرآیند با پیاده سازی های کد یا اشیای زبان ماشین) که برای برنامه نویسی به کار می روند، یک کتابخانه ++C گفته می شود و قدرت اصلی این زبان در امکان به کارگیری کتابخانه های آماده می باشد. کتابخانه های بزرگ ++C مانند STL، MFC، QT و ... مجموعه قدرتمندی برای تولید برنامه در این زبان ایجاد کرده اند.
جاوا
تاریخچه: زبان برنامه نویسی جاوا در اوایل دهه 1990 در شرکت سان میکرو سیستم طراحی شد. جاوا یک زبان برنامه نویسی شیء گرا است که هم برای نوشتن برنامه های کاربردی و هم برای نوشتن برنامه های محاوره ای در اینترنت به کار می رود.
زبان B منجر به ظهور زبان C و Cزمینه پیدایش C++ شد و در نهایت زبان جاوا متولد شد . درک زبان جاوا مستلزم : درک زمینه های لازم برای ایجاد جاوا ، نیروهایی که این زبان را شکل داده اند و مشخصاتی است که این زبان از اسلاف خود به ارث برده است . نظیر سایر زبانهای برنامه نویسی موفق ، جاوا نیز عناصر بارث برده از اسلاف خود را با ایده های ابتکاری که ناشی از محیط منحصر بفرد این زبان بوده درهم آمیخته است .
تکامل جاوا
جاوا هم مانند اکثر اختراعات مهم حاصل تلاش گروهی دانشمند پیشتاز است. اما نکته جالب درباره جاوا آن است که جاوا از ویرانههای یک پروژه شکستخورده سربرآورد. اگر پروژه Green که شرکت سان در سال 1991 آن را شروع کرد به موفقیت میانجامید امروز نه سان دیگر یک شرکت کامپیوتری میبود و نه جاوا تولید میشد.
در سال 1991 ، شرکت سان میکروسیستمز در آغاز راه تبدیل شدن به بزرگترین تولیدکننده ایستگاههای کاری یونیکس بود و در طول فقط 5 سال درآمدش را از 210 میلیون دلار به 5/2 میلیارد دلار رسانده بود و بنظر میرسد هیچ چیز نمیتواند جلودار آن باشد. عامل عمده موفقیت سان کارهای پیشتازانهاش در ایجاد شبکههای باز بود و در این زمینه هیچکس به پای آن نمیرسید.
مدیران سان به این فکر افتادند تا کاری کنند که این رشد برای مدتی طولانی ادامه یابد. یکی از زمینههای موردعلاقه سان بازار و لوازم الکترونیکی بود، پروژه گرین بوجود آمد تا برای این بازار نرمافزاری پیشرفته خلق کند. مهندسان سان توجه خود را به میکروپروسسورهایی معطوف کردند که دارای قابلیت استفاده در اینگونه سیستمها باشند. اگر پروژه گرین میخواست موفق باشد باید کاری میکرد تا سیستم مزبور بتواند به راحتی به بسترهای سخت افزاری مختلف منتقل شود. برای این منظور ابتدا از کامپایلر C++ استفاده شد ولی به زودی نارساییهای C++ در این زمینه خود را نشان دادند. مهندسان سان خیلی سریع دریافتند که برای ادامه کار باید چیزی جدید و قوی خلق کنند. در همین زمان بود که James Gosling کار بر روی زبان جدید Oak را شروع کرد. تقدیر آن بود که این زبان جاوا نامیده شود، چون اداره ثبت نامهای تجاری نام Oak را ردکرده بود.
به تدریج مهندسین یک دستگاه شبه PDA (Personal Digital Assistant) ساختند که در آن از سیستم عامل، زبان برنامهنویسی و واسط کاربر جاوا استفاده شده بود و با وجود ابتدایی بودن توانست توجه مدیران سان را به خود جلب کند. بعدها گروهی که در پروژه گرین کار کرده بودند شرکت Java Soft را بنیان نهادند.
متاسفانه بخت با پروژه گرین یار نبود و بعد از چند شکست متوالی، سان آن را کنار گذاشت. در همین زمان بود که عدهای از محققان NCSA شرکت نت اسکیپ را تاسیس کردند و این اتفاقات با آتشی که به سرعت دنیا را درمینوردید و WWW نام داشت همزمان شد. بنابراین اتفاقی نبود که مهندسان پروژه گرین به سمت اینترنت و وب به عنوان بستر پروژه سان جلب شوند. چهار سال بعد پروژه گرین به بار نشست و جاوا تبدیل به داغترین موضوع اینترنت شد. همه، از برنامهنویسان و طراحان صفحات وب گرفته تا کاربران اینترنت میخواهند از جاوا استفاده کنند.
سان بلافاصله برای جاوا یک کاوشگر هم تولید کرد. این اولین کاوشگری بود که میتوانست اپلتهای جاوا را اجرا کند و نام آن هم Hot Java بود.
ویژگیهای زبان جاوا
جاوا ویژگیهای متعددی دارد که آن را منحصربفرد کرده است. جاوا هم کامپایلر دارد و هم اینترپرتر. کامپایلر برنامهای است که متن برنامه را گرفته و در پایان یک فایل exe تولید میکند. بعد از کامپایل شدن یک برنامه، دیگر به وجود کامپایلر نیازی نیست و میتوان برنامه exe را روی هر کامپیوتر سازگاری اجرا کرد. اما اینترپرتر هیچ برنامه exeای تولید نمیکند و برنامه را خط به خط اجرا میکند. برای اجرای برنامه حتما باید اینترپرتر هم روی کامپیوتر موردنظر موجود باشد. هر کامپایلر فقط برای یک سیستم خاص(مانند اینتل، اپل یا آلفا) میتواند کد اجرایی تولید کند. اما کامپایلر جاوا کد اجرایی تولید نمیکند و در عوض یک فایل بینابینی میسازد که byte code نام دارد. byte code چیزی شبیه زبان اسمبلی است اما این زبان مختص هیچ پروسسور خاصی نیست بلکه زبان اسمبلی یک ماشین ویژه به نام ماشین مجازی جاوا (Java Virtual Machine) است. در هنگام اجرای چنین برنامهای، اینترپرتر زمان اجرای جاوا (Java Runtime Interpreter) که روی ماشین مجازی جاوا اجرا میشود، دستورات فایل بایتکد را به دستورات قابل فهم برای پروسسوری که روی آن اجرا میشود تبدیل خواهد کرد. در شکل زیر این فرآیند نشان داده شده است:
برنامههای کاربردی جاوا
اشیاء جاوا
ماشین مجازی جاوا
مکینتاش
ویندوز یا OS2
یونیکس
مقاله در مورد مقایسه زبان های برنامه نویسی جاوا و C++ از نظر شئ گرایی