بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

ندانستن مباحث تئوری برنامه نویسی

مدیریت گفتگو
Pr0gramm3r 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان

همونطور که میدونید من یک سالی هست که اینجا عضوم

من به حدی در برنامه نویسی رسیدم که بتونم یک برنامه نیمه حرفه ای بسازم و کار خودمو راه بندازم

ولی امروز یک صفحه رو باز کردم و خیلی نا امید شدم

لینک

وقتی به سومین سوال رسیدم , اصلا نفهمدم چی گفت , یه سوال ساده پرسید که چه چیزی extend شده چه چیزی است و چه چیزی implement شده چه چیزی

یادمه استاد چند باز اسماشون رو گفت , ولی من هیچی از اینا نمیدونم ؟ راه حل چیه ؟ اگه فردا پس فردا مسابقه ای بود , نمیدونم امتحانی چیزی , من چطوری اخه جواب بدم؟

نظرات

Spirit 11 سال پیش
class extends class, class implemets interface - اینا که جزو مقدمات شی گرایی در جاواست، چجوری میخوای برنامه حرفه ای بنویسی D:
system32 11 سال پیش
سلام. دوست عزیز نگران نباش . چیزهای خیلی سختی نیست ، بیشتر مباحث تئوری هست . اصل اینکه درک کرده باشید منظور و مفهوم Extend چی هست؟ . تفاوت کسی که مثل شما برنامه نویسی با کسی که این اطلاعات تئوری و مفهومی رو کامل می دونه و بر اساس اونها برنامه نویسی می کنه مشابه معمار و آرشیتکت هست . معمار اصول رو تجربی یاد گرفته ولی آرشیتکت آکادمیک یاد گرفته . در هر صورت خونه هایی که معمار تجربی ساخته با آرشیتکت آکادمیک قابل سکونت هست با یکسری تفاوت ها در زیبایی و نما و ... . پیشنهاد اینکه مثل معمارهایی که مدارج علمی رو هم طی می کنند ، شما هم مفاهیم تئوری و تخصصی اونها رو بخونید و یاد بگیرید . به امید موفقیت
Pr0gramm3r 11 سال پیش
ممنون دوستان , استاد تو درس شی گرایی اینا رو توضیح داده؟ چون اون قسمت رو نگاه نکردم
system32 11 سال پیش
سلام. جناب آقاجانی توی مباحث شی گرایی و جاوا (از مباحث پایه ای) حتی المقدور موارد مورد نیاز رو توضیح دادند . اگر به موارد بیشتری نیاز دارید پیش نهاد می کنم از لینک کلاس درس برنامه سازی پیشرفته دانشگاه شریف - استاد جعفری نژاد رو ببینید . البته در این ویدئوها زبان مورد نظر C++ هست که موارد اختلاف اون با جاوا زیاد نیست (بیشتر توی syntax دستورات فرق هایی دارند) و اصل شیء گرایی کاملا مشابه هست. به امید موفقیت
Pr0gramm3r 11 سال پیش
system32 جان حتما اگه تونستم نگاه میکنم , آموزش استاد رو دیدم و extends رو کامل فهمیدم , اما implements چی؟

پاسخ‌ها 1

CodeMaster 11 سال پیش

implements برای interface ها بکار می ره. از اونجایی که مفهوم interface پیچیده هست یک توضیح کوتاهی در موردش میدم شاید مفید واقع بشه.

میشه گفت که اولین زبان برنامه نویسی که مفاهیم شی گرایی را کامل پیاده سازی کرد ++c بود در مباحث پیشرفته شی گرایی مبحثی داریم به اسم وراثت چندگانه به این معنی که کلاس شما میتونه از چندین کلاس دیگه ارث بری کنه که این موضوع پیچیدگی بسیار زیادی رو به برنامه نویس تحمیل می کرد.

اما بزرگترین مشکلی که داشت این بود که تئوری شی گرایی بر مبنای دنیای واقعی هستش پس این یعنی اینکه هیچ شی ای در این دنیا نمیتونه 2 پدر داشته باشه. با توجه به این موضوع و اینکه وراثت چندگانه پیچیدگی های خیلی زیادی داشت مبحث interface ها مطرح شد. فرض کنید که شما کلاس هواپیما رو دارید و میاید میگید

 class airplane extends vehicle

خوب شما دارید میگید که کلاسی دارم به اسم هواپیما که از کلاس وسیله نقلیه ارث بری میکنه یعنی وسیله نقلیه پدر اونه

حالا می خواید که کلاس هواپیماتون رفتار یک گربه رو هم مثلن داشته باشه در ++c میومدید از این کلاس هم ارث بری می کردید اما در جاوا می گید که:

 class airplane extends vehicle implements cat

این یعنی اینکه کلاس هواپیمای شما از کلاس وسیله نقلیه ارث بری میکنه و همچنین رفتاری مانند کلاس گربه داره. با استفاده از interface خیلی از پیچیدگی ها در برنامه نویسی به شیوه شی گرایی برطرف شدند

 

نظرات

Pr0gramm3r 11 سال پیش
ممنون , توضیح خیلی خوبی بود
Criss 11 سال پیش
وقتی یک کلاس دیگه رو implements میکنیم < متغیر ها ی تعریف شده در اون کلاس مثلا cat شناخته میشه ؟ یا متد های موجود ؟ مثل extends شدن ? یا موضوع متفاوت هست ؟
CodeMaster 11 سال پیش
در واقع ما در interface فقط متدها رو می نویسیم و با توجه به اینکه متد تعیین کننده رفتار کلاس هستش پس در واقع ما وقتی از یک اینترفیس implement می کنیم تمامی متدهایی که توش نوشتیم overrive میشن

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .