در این تمرین می خواهیم سامانه دانشگاهی مربوط به دو دانشگاه بهشتی و شریف را به هم متصل و بروز کنیم:

اینترفیس EducationalInstitution:

یک interface می باشد و تنها شامل متد displayInfo است که باید در زیرکلاس های آن پیاده سازی شود.

کلاس University:

یک کلاس abstract شامل متد های abstract است و تنها interface برنامه‌ مان را پیاده سازی می‌کند.
پراپرتی ها
name : نمایانگر اسم دانشگاه می‌باشد
studentCount : نمایانگر تعداد دانشجویان دانشگاه می‌باشد
tuitionFee : نمایانگر شهریه دانشگاه می‌باشد
students : آرایه ای از دانشجویان ‌می‌باشد
کانستراکتور:
تمام پراپرتی‌های این کلاس در اینجا باید مقداردهی اولیه بشوند .
متد:
تنها متد این کلاس transferStudent می‌باشد که وظیفه انتقال یک دانشجو از یک دانشگاه به دانشگاه دیگر ( که در آرگومان پاس داده شده ) را بر عهده دارد . در ابتدا چک می‌شود که دانشجو متعلق به دانشگاه مبدا می‌باشد و سپس از لیست دانشجویان دانشگاه مبدا خارج و به لیست دانشجویان دانشگاه مقصد اضافه می‌شود و در نهایت پراپرتی university دانشجو آپدیت شود اگر تمام عملیات فوق با موفقیت گذرانده شود مقدار true درغیراینصورت false برگردانده شود.

کلاس student:

یک کلاس می‌باشد که interface برنامه را پیاده سازی می‌کند.

پراپرتی ها

name : نمایانگر اسم دانشجو می‌باشد
university : نمایانگر دانشگاه دانشجو می‌باشد
balance : نمایانگر موجودی دانشجو می‌باشد
کانستراکتور
در کانستراکتور برنامه اسم ، موجودی ، دانشگاه به ترتیب پاس داده شده در ابتدا چک کنید که دانشجو بودجه کافی برای ثبت نام در دانشگاه موردنظر را دارد ، اگر امکان وجود داشت او را به دانشگاه فوق اضافه کرده و موجودی وی را پس از ثبت نام در پراپرتی بالانس ذخیره کنید و اگر موجودی کافی نبود پیام "Not Enough Balance" را چاپ کنید
متد:
متد displayInfo برای دانشجو رشته با فرمت زیر را برمی‌گرداند :
Name: اسم دانشجو
University: اسم دانشگاه
Balance: موجودی
و سه getter در پروژه را پیاده سازی کنید.

کلاس SbuUniversity:

یک کلاس عادی می‌باشد که کلاس university والد آن می‌باشد.
کانستراکتور:
از سازنده والد خود استفاده می‌کند.
متد:
متد displayInfo برای این کلاس رشته ای به فرمت زیر را بر‌می‌گرداند :

SBU University

Tuition Fee: شهریه های دریافتی
Student Count: تعداد دانشجویان فعلی
دقت کنید که مقدار شهریه را تا یک رقم اعشار در رشته قرار دهید.

کلاس SutUniversity:

مانند کلاس SbuUniversity می‌باشد صرفا در متد displayInfo به جای رشته SBU رشته SUT باید در پیام باشد.

در نهایت یک فایل به نام EducationSystem.java آپلود کنید که شامل تمامی کلاس ها و اینترفیس بالا باشد.