تعداد صفحات: ۸۵ | قابل ویرایش
فهرست
مقدمه………………………………………………………………………………………۱
++C ……………………………………………………………………………………..1
تاریخچه……………………………………………………………………………….۱
ساختار برنامه ها…………………………………………………………………….۱
جاوا ………………………………………………………………………………………..۱
تاریخچه……………………………………………………………………………….۱
تکامل جاوا …………………………………………………………………………..۲
ویژگیهای زبان جاوا …………………………………………………………………..۳
…………………………………………………………..۴C++ مقایسه اجمالی جاوا و
شی ئ گرایی …………………………………………………………………………….۶
دلایل استفاده از شی ئ گرایی…………………………………………………………۷
شیئ گرایی و طبیعت ……………………………………………………………………۷
تاریخچه زبان های شیئ گرا……………………………………………………………..۷
بدون شیئ گرا ……………………………………………………………………………۷
Abstraction چیست؟…………………………………………………………………….۸
سه اصل oop ……………………………………………………………………………..9
کپسول سازی encapsulation ………………………………………………………….9
آبجکتها (Objects) ……………………………………………………………………..10
وراثت Inheritance……………………………………………………………………11
چند شکلی( polymorphism)………………………………………………………..15
مقایسه اصل شی گرایی در ++C و جاوا…………………………………………..۱۷
مقایسه کپسول سازی در جاوا و C++ …………………………………………….19
مقایسه چند شکلی در جاوا و C++ ………………………………………………20
مقایسه وراثت (inheritance) در C++ و جاوا …………………………………….۲۱
وراثت در جاوا …………………………………………………………………………..۲۱
دسترسی به اعضائ و وراثت ………………………………………………………..۲۳
استفاده از Final با وراثت …………………………………………………………….۲۹
وراثت در C++ ………………………………………………………………………..۳۲
مقایسه جاوا و C++
از نظر وراثت منفرد و چندگانه ……………………………………………………….۳۳
مقایسه کلاس ها در C++ و جاوا ………………………………………………….۳۴
کلاسها در جاوا ……………………………………………………………………….۳۴
تعریف یک کلاس در جاوا …………………………………………………………….۳۸
سازندگان Constructors …………………………………………………………….39
سازندگان Constructorsدر جاوا …………………………………………………….۳۹
سازندگان پارامتردار شده (parameterized) ………………………………………41
وقتی که سازندگان فراخوانی می شوند…………………………………………..۴۳
استفاده از کلاسهای مجرد (abstract)…………………………………………….44
انباشتن روشها ……………………………………………………………………۴۸
انباشتن سازندگان Overloading constructors……………………………….52
جمع آوری زباله Garbage collection…………………………………………..55
کلاس ها در C ++………………………………………………………………..55
تخصص حافظه به صورت پویا با
اشاره گرهای new و delete در ++ c……………………………………….57
ایجاد یک زیرکلاس در جاوا ………………………………………………………۵۸
ایجاد سلسله مراتب کلاس …………………………………………………….۵۹
وراثت چگونه عمل میکند؟……………………………………………………۶۱
واسط ها (Interface) و
بستهها (Package) در جاوا …………………………………………………۶۲
ایجاد یک سلسله مراتب
چند سطحی (Multilevel)……………………………………………………63
استثنائات توکار جاوا …………………………………………………………..۶۷
کتابخانه های کلاس جاوا ……………………………………………………..۶۹
مدل نخ در جاوا …………………………………………………………………۶۹
کشف کلاس رشته ای (string)………………………………………………73
جمع بندی(مزایای شیئ گرایی
در حوزه مهندسی نرم افزار)…………………………………………………۷۷
مقدمه
++C
++C یک زبان برنامه نویسی همه منظوره و سطح بالا است. ++C یک زبان چندرگه است که از برنامه نویسی رویهای، تجرید دادهها و برنامه نویسی شئ گرا پشتیبانی میکند. ++C به همراه جد خود C از پرطرفدارترین زبانهای برنامه نویسی تجاری هستند.
زبان برنامهنویسی ++C یک زبان برنامهنویسی کامپیوتری سطح بالا و عمومی (با کاربرد های متنوع) می باشد. این زبان از تمام روش های مرسوم برنامه نویسی از قبیل برنامهنویسی شیگرا، برنامه نویسی ساخت یافته و برنامه نویسی پایه پشتیبانی می کند.
تاریخچه: زبان ++C در سال ۱۹۸۳ میلادی در آزمایشگاه های Bel (Bell Labs) توسط Bjarne Stroustrup و بر مبنای زبان سی و برای بهبود C، با افزودن امکانات برنامه نویسی شی گرا ساخته شد.در آن زمان نام ++C ,’سی با کلاسها`(c with classes) بود.
این زبان در سال ۱۹۹۸ توسط موسسه ANSI استاندارد شد. این زبان از حوالی سال ۱۹۹۰ میلادی یکی از پرکاربردترین زبانهای برنامه نویسی به شمار می رود که برای برنامه نویسی سیستمی و برنامه نویسی ویژوال (بر مبنای GUI) در محیط های مختلف از قبیل ویندوز و لینوکس به صورت وسیع به کار می رود.
ساختار برنامه ها: ساختار برنامه ها در این زبان بدین صورت است که همانند زبان سی، هر برنامه بایستی یک تابع اصلی (main) به عنوان بدنه برنامه داشته باشد. هر برنامه معمولا از تعداد زیادی فایل تشکیل می شود که به هم الحاق می گردند (با دستور include) و به این فایل های الحاقی سرآیند (Header) میگوییم.
فایل های الحاقی حاوی کد ها یا نسخه های اجرایی کلاس ها (مجموعه متغیر ها و توابع) می باشند که در بدنه اصلی برنامه از آنها استفاده می شود. معمولاً هر کلاس (که تعریف یک نوع داده ای با متد های مربوط به آن است) را در یک سرآیند مینویسند.
هر سرآیند که معمولا تنها تعاریف (معرفی) کلاس را در خود دارد به همراه فایل های پیاده سازی به زبان ++C یا پیاده سازی های کامپایل شده (به صورت فایل اشیا مانند dll یا so یا … ) می تواند به کار برده شود.
جاوا
تاریخچه: زبان برنامه نویسی جاوا در اوایل دهه ۱۹۹۰ در شرکت سان میکرو سیستم طراحی شد. جاوا یک زبان برنامه نویسی شیء گرا است که هم برای نوشتن برنامه های کاربردی و هم برای نوشتن برنامه های محاوره ای در اینترنت به کار می رود.
زبان B منجر به ظهور زبان C و Cزمینه پیدایش C++ شد و در نهایت زبان جاوا متولد شد . درک زبان جاوا مستلزم : درک زمینه های لازم برای ایجاد جاوا ، نیروهایی که این زبان را شکل داده اند و مشخصاتی است که این زبان از اسلاف خود به ارث برده است . نظیر سایر زبانهای برنامه نویسی موفق ، جاوا نیز عناصر بارث برده از اسلاف خود را با ایده های ابتکاری که ناشی از محیط منحصر بفرد این زبان بوده درهم آمیخته است.
تکامل جاوا
جاوا هم مانند اکثر اختراعات مهم حاصل تلاش گروهی دانشمند پیشتاز است. اما نکته جالب درباره جاوا آن است که جاوا از ویرانههای یک پروژه شکستخورده سربرآورد. اگر پروژه Green که شرکت سان در سال ۱۹۹۱ آن را شروع کرد به موفقیت میانجامید امروز نه سان دیگر یک شرکت کامپیوتری میبود و نه جاوا تولید میشد.
در سال ۱۹۹۱ ، شرکت سان میکروسیستمز در آغاز راه تبدیل شدن به بزرگترین تولیدکننده ایستگاههای کاری یونیکس بود و در طول فقط ۵ سال درآمدش را از ۲۱۰ میلیون دلار به ۵/۲ میلیارد دلار رسانده بود و بنظر میرسد هیچ چیز نمیتواند جلودار آن باشد. عامل عمده موفقیت سان کارهای پیشتازانهاش در ایجاد شبکههای باز بود و در این زمینه هیچکس به پای آن نمیرسید.
مدیران سان به این فکر افتادند تا کاری کنند که این رشد برای مدتی طولانی ادامه یابد. یکی از زمینههای موردعلاقه سان بازار و لوازم الکترونیکی بود، پروژه گرین بوجود آمد تا برای این بازار نرمافزاری پیشرفته خلق کند. مهندسان سان توجه خود را به میکروپروسسورهایی معطوف کردند که دارای قابلیت استفاده در اینگونه سیستمها باشند.
اگر پروژه گرین میخواست موفق باشد باید کاری میکرد تا سیستم مزبور بتواند به راحتی به بسترهای سخت افزاری مختلف منتقل شود. برای این منظور ابتدا از کامپایلر C++ استفاده شد ولی به زودی نارساییهای C++ در این زمینه خود را نشان دادند.
مهندسان سان خیلی سریع دریافتند که برای ادامه کار باید چیزی جدید و قوی خلق کنند. در همین زمان بود که James Gosling کار بر روی زبان جدید Oak را شروع کرد. تقدیر آن بود که این زبان جاوا نامیده شود، چون اداره ثبت نامهای تجاری نام Oak را ردکرده بود.
مقایسه اجمالی جاوا و C++
جاوا یک زبان برنامه نویسی است که در اوایل دهه ۹۰ توسط Java Soft ، بخش نرم افزاری شرکت Sun توسعه داده شد . هدف آن بود که جاوا زبانی ساده ، قوی و همه منظوره باشد . جاوا تمام جنبه های مثبت C و ++C را در خود دارد ، و آن چیزهایی که برنامه نویسان ++C از آن نفرت داشته اند ( مانند وراثت چند گانه ، تحریف اپراتورها و اشاره گرها ) را به کناری گذاشته است .
مهمترین ویژگیهای جاوا این است که اساساً شیء گرا است . اولین ادعای OOP توانایی استفاده مجدد از کد است : چیزی که ++C با تمام ادعاهایش هرگز نتوانست بدان دست یابد . اما در اولین قدم خواهید دید جاوا در این زمینه تا چه اندازه صحت دارد . تصورش را بکنید که با صرف کمی وقت بتوانید برنامه ای بنویسید که در سیستم های ویندوز ، یونیکس و مکینتاش براحتی اجرا شود.
همین که یک شرکت نرم افزاری بتواند برای تمام پلاتفرم های موجود در آن واحد پروژه ای را تولید کند ( و مقادیر عظیمی پول صرفه جویی کند ) خود می تواند بهترین دلیل اقبال جاوا باشد و امروز دیگر همه ( و نه فقط شرکتهای نرم افزاری ) به سمت جاوا کشیده شده اند . با این ویژگی ( استقلال از پلاتفرم ) یک برنامه نویس می تواند برای سیستمی برنامه بنویسد که هرگز با آن کار نکرده است.
این ویژگی اصلی ترین علت توفیق جاوا در اینترنت است . اینترنت شبکه پیچیده ای است از میلیونها کامپیوتر مختلف در سراسر دنیا ، و مقاومت در مقابل این وسوسه که بتواند برنامه ای بنویسد که روی تمام این سیستم های متفاوت و نا متجانس اجرا شود چندان ساده نیست. جاوا یک زبان بسیار ساده است چون شما را وادار نمی کند تا در محیط جدید ( و نا آشنایی ) کار کنید و این برای کسانی که اطلاعات فنی ناچیزی درباره کامپیوتر دارند بسیار مهم است.