وبلاگ سید جلال سیدیزدی

تمرین بیست و چهارم

شنبه, ۳ خرداد ۱۳۹۳، ۰۹:۱۹ ق.ظ


برنامه ای بنویسد که اطلاعات کارمند (employee) و مدیر (manager) که شامل موراد زیر است را نمایش دهد.

اطلاعات کارمند: نام و نام مدیرش

اطلاعات مدیر: نام و نام کارمندهای زیر دستش

نکته: رییس (boss) مدیری است که خود مدیر ندارد. فقط یک رییس وجود دارد.

نکته: مدیر کارمند است.


برای انجام این تمرین کلاس های Employee ،Manager و Database را ایجاد کنید. همچنین شبیه پروژه ی فصل 12 یک کلاس Demo ایجاد کنید که تعدادی مدیر و کارمند در دیتابیس قرار دهد.


خروجی برنامه چیزی شبیه زیر باشد.



Mohammad (The Boss!)
employee(s): Ali Reza Arash

Ali (Manager)
manager: Mohammad
employee(s): Omid

Reza (Manager)
manager: Mohammad
employee(s): Akbar Asghar

Arash (employee)
manager: Mohammad

Omid (employee)
manager: Ali

Akbar (employee)
manager: Reza

Asghar (employee)
manager: Reza

در مثال بالا محمد رییس است. علی و رضا مدیر هستند و آرش، امید، اکبر و اصغر کارمند هستند.

نکته: ترتیب نمایش افراد در خروجی مهم نیست.


تاریخ تحویل: دوشنبه 5 خرداد ساعت 21

با تاخیر: سه شنبه 6 خرداد ساعت 20 چهارشنبه 7 خرداد ساعت 12


موفق باشید.

  • ۹۳/۰۳/۰۳

نظرات  (۱۴)

سلام
این تمرین حتما باید به کمک بحث وراثت حل بشه؟ اگر بله، خواهشا یه راهنمایی کنید
پاسخ:
سلام
بله.
مدیر یک کارمند است. فیلدهای مشترک را در کارمند قرار دهید.

علاوه بر این مدیر باید نام کارمندهاش رو بدونه. این با وراثت قابل انجام نیست.
همچنین کارمند باید نام مدیرش رو بدونه. این هم با وراثت قابل انجام نیست.

پس

کارمند یک فیلد برای نگهداری مدیرش باید داشته باشه.
مدیر یک کالکشن برای نگهداری کارمنداش باید داشته باشه.

می ماند متدهایی برای انجام کارهای خواسته شده.

موفق باشید.
سلام استاد لطفا مهلت با تاخیر این تمرین رو بیشتر کنید خواهش
پاسخ:
سلام
تمدید شد.
موفق باشید.
  • همان دانشجو
  • دوباره سلام استاد
    خسته نباشید
    میشه الان که دیگه تمرین مهلتش تموم شد رابطه use رو توضیح بدین؟(یه مثال هم بزنین اگه میشه)
    ممنون میشم
    پاسخ:
    سلام
    رابطه use که ساده ترین و در عین حال پرکاربردترین رابطه هست.
    از اول ترم دیدید.
    همون فلش هایی که در BlueJ بین کلاس ها رسم می شود. یعنی این کلاس از اون کلاس "استفاده می کند."

    در ضمن مهلت این تمرین تا 8 شب است. (البته با تاخیر)
    موفق باشید.
    سلام استاد
    خواهشا مهلت ارسال این تمرین رو بیشتر کنید؟ واقعا سنگینه
    پاسخ:
    سلام
    تمدید شد.
    موفق باشید.
    سلام استاد،خسته نباشید
    ببخشید یه سوال : الان نام، یک ویژگی مشترک بین مدیر و کار منده.
    حالا اگه بخوایم توی کلاس Employee به نام مدیر دسترسی داشته باشم باید چیکار کنیم؟
    پاسخ:
    سلام ممنون
    بله.
    سوال خوبیه!

    این سوال نشان می دهد که علاوه بر رابطه وراثت بین کارمند و مدیر، باید رابطه ی use هم برقرار باشد (که سر کلاس بحث شد).

    دقت کنید که وقتی شما یک کارمند ایجاد می کنید، باید مدیرش را نیز مشخص کنید...

    موفق باشید.

    سلام استاد این متد چی کار می کنه؟
    reader.nextLine();
    پاسخ:
    سلام
    بستگی دارد به اینکه کلاس reader چی باشد.
    اگر کلاسش  Scanner است، یک سطر از ورودی (صفحه کلید یا فایل) می خواند و برمی گرداند. برای اطلاعات بیشتر و دقیقتر به لینک زیر مراجعه کنید.
    http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextLine%28%29
    موفق باشید.
    با سلام
    ببخشید در کل هدف از این برنامه چیه ؟
    با تشکر. 
    پاسخ:
    سلام
    آشنایی بیشتر با وراثت و درک ارتباط بین کلاس ها.
    موفق باشید.<
    سلام استاد 
    خسته نباشید
    ببخشید اگه میشه لطف کنید مثال مربوط به comparable , comparator رو روی وبلاگ قرار بدید.
    با تشکر.
    پاسخ:
    سلام
    از لینک زیر دریافت کنید.

    Comparable & Comparator

    موفق باشید.
    سلام
    استاد میشه یکم راهنمایی کنید. خیلی سخته و مبهمه.
    چکار باید بکنیم؟ چطوری میشه برنامشو نوشت؟
    پاسخ:
    سلام
    از تکنیک های فصل سوم استفاده کنید.
    موفق باشید.
    سلام استاد
    کلاس دیتابیس همون کلاس دمو باشه یا کلا یه کلاس جدید به اسم دمو ایجاد کنیم؟؟؟؟؟
    اگه دمو یه کلاس جدیده پس کلاس دیتابیس باید چکار کنه؟
    ممنون
    پاسخ:
    سلام
    ظاهراً شما پروژه address-book-v1t از فصل 12 که جلسه پنج شنبه بررسی شد رو ندیده اید!
    دیتابیس کلاسی است که مدیر و کارمند رو ذخیره (یا نگهداری) می کند.
    دمو کلاسی است که تعدادی مدیر و کارمند می سازد و آنها را در دیتابیس قرار می دهد. اگر با نت بینز کار می کنید، کلاس دمو همان کلاسی است که متد main را داراست.
    موفق باشید.

    سلام استاد.
    لازمه که یک interface هم برای این تمرین ایجاد کنیم.
    شما اشاره ای نکردید.
    پاسخ:
    سلام
    نه.
    موفق باشید.
    سلام.
    خسته نباشید.
    در مثال بالا کارمند های رییس حتما مدیر اند یا که میتوانند مدیر نباشند.

    پاسخ:
    سلام ممنون
    اگر دقت کنید می بینید می توانند مدیر نباشند (آرش).
    موفق باشید.

    الان محمد رییس همشونو دیگه یعنی موقعی که می خواهد رییس مثل اصغر رو چاپ کنه نمی خواد محمد رو هم چاپ کنه؟

    پاسخ:
    سلام
    درسته، نباید چاپ کند.
    برای هر شخص مدیر مستقیم خودش رو فقط چاپ کند. و برای رییس که مدیری ندارد بنویسد Boss.
    مدیر اصغر رضا است که نوشته شده است.
    در ضمن شرکت فقط یک رییس دارد که به نوعی مدیر است.
    موفق باشید.
    پروژه فصل 12 کدوم پروژه ؟
    یعنی چی که تعدادی مدیر و کارمند در دیتا بیسش قرار دهد؟
    پاسخ:
    سلام
    پروژه address-book-v1t از فصل 12 که جلسه پنج شنبه بررسی شد.
    کلاس AddressBookDemo از پروژه ی مذکور را ببینید متوجه می شوید.
    موفق باشید.
    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی