برنامهنویسی شیءگرا: تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
Mahdy Saffar (بحث | مشارکتها) ←لید: !! |
FreshmanBot (بحث | مشارکتها) جز اصلاح فاصله مجازی + اصلاح نویسه با استفاده از AWB |
||
خط ۳:
{{شیوههای برنامهنویسی}}
'''برنامهنویسی شیءگرا''' (به [[زبان انگلیسی|انگلیسی]] ''Object-Oriented Programming'' مخفف:OOP) یک شیوه
فلسفه یی که منجر به
مفاهیم عمده
== کلاس ==
کلاس نوع خاصی از [[آرایه (ساختمان دادهها)|آرایه]] است که امکان ذخیره و جمعبندی تعداد زیادی المان را (که شامل دادهها و توابع هستند) برای یک شی جدید فراهم آورده و تحت یک نام مشترک ذخیره میکند. اما بر خلاف آرایه که تنها قادر به ذخیرهٔ دادههایی هم جنس است، کلاس میتواند دادههایی از جنسهای مختلف را ذخیره نماید.<ref name="ReferenceA">Prof. Hanspeter Mössenböck, Sprechen Sie Java?, 3.Auflage, ISBN 389864362X</ref>
<syntaxhighlight lang=Java>
خط ۲۲:
{{سخ}}
حال در نظر بگیرید که نه فقط یک تاریخ، بلکه n تاریخ متفاوت مورد نیاز است. این بدان معنی ست که میبایستی به تعداد n بار، سه متغیر بالا، جداگانه تعریف شوند و تعریفِ تک تک و پیاپی متغیرها، نه فقط از لحاظ زمانی بسیار وقت گیر مینماید، بلکه از لحاظ میزان کد مورد نیاز نیز بسیار غیر عملی ست، چرا که هر بار میبایستی نام جدیدی برای متغیرها در نظر گرفته شود (دو متغیر متفاوت نمیتوانند هم نام باشند). در اینجاست که کلاسها به خوبی وارد عمل میشوند. با استفاده از کلاسها میتوان متغیرهای متعدد را زیر عنوان یک جنسیت مشترک جدید (
<syntaxhighlight lang=Java>
خط ۳۵:
مقالهٔ اصلی: [[وراثت (برنامهنویسی شیگرا)]]
وراثت یا ارث بری (Inheritance) از مفاهیم اساسی
== مخفیسازی ==
خط ۴۸:
چند ریختی(Polymorphism)
چند ریختی، کمیتی است که به یک رابط امکان میدهد تا از عملیات یکسانی در قالب یک کلاس عمومی استفاده کند. عمل خاص کلاس را ذات حقیقی شیء تعیین میکند. مثال سادهای از چند ریختی، فرمان اتومبیل است. عمل فرمان اتومبیل برای تمام اتومبیلها بدون توجه به ساز و کاری که دارند، یکسان است. فرمان برای اتومبیل که
== انتزاع / تجرید ==
خط ۶۱:
''ماشین باربری وسیلهای است که چهار چرخ، یک گاز، یک ترمز، یک فرمان و یک محل برای حمل بار دارد و اگر پدال گاز آن فشار داده شود حرکت میکند. این تعریف این ماشین است ولی خود آن نیست. هر زمانی چنین ماشینی بخواهیم به کارخانه تولید آن میرویم و از فروشندگان میخواهیم تا با توجه به این تعریف یک ماشین به ما بدهند. ''
مفاهیم فوق در [[زبانهای برنامه نویسی]] شیءگرا گنجانده شدهاند. در این زبانها، اشیاء زیادی از پیش وجود دارند که برنامهنویسان میتوانند از
== ارتباط اشیاء ==
خط ۶۸:
ماشین باربری، ''خودرویی'' است که محلی برای قرار دادن بار داشته باشد و ماشین سواری ''خودرویی''است که صندوق عقب داشته باشد.
* اگر کسی به درب کارخانه مراجعه کند و بگوید که 'خودرو' میخواهد، چیزی دریافت نمیکند. خودرو یک تعریف انتزاعی است، برای تعریف خودرو شیء وجود ندارد پس مشتری تنها میتواتند ماشین باربری یا ماشین سواری بخواهد.
* کارواش را در نظر میگیریم. این کارواش خودرو را تمیز میکند و دیگر
* وقتی شخصی قصد اجاره خودرویی دارد، و میخواهد جنسی را حمل کند در هنگام تماس با متصدی کرایه ماشین میگوید: «اگر خودرو شمااز نوع باربری است، برای من ارسال کنید»، ولی اگر قصد جابجا شدن را دارد میگوید: «برای من یک ماشین سواری بفرستید.»
در زبانهای
== مدیریت پیچیدگی ==
خط ۸۳:
== پیوند به بیرون ==
* [http://java.sun.com/docs/books/tutorial/java/concepts/index.html مفاهیم مربوط به
== منابع ==
|