تمرینهای آموزشی
کمپانی جاواکاپ (تا پایان جلسه هفتم)
سطح سوال: ساده
آنچه از این جلسه باید بدانید:
- بسته (package)
- مفهوم استاتیک (static)
- سطوح دسترسی
بستهی ir.javacup.company را ایجاد کرده و کلاس Company.java را داخل آن بسازید.
- این کلاس یک ویژگی نام (name) دارد که به هنگام ساخت اولین نمونه از این کلاس، مقدار “JavaCup.co” میگیرد و این مقدار دیگر هیچگاه نمیتواند تغییر کند. سایر کلاسها باید بتوانند به مقدار این ویژگی دسترسی داشته باشند. نام متدهای getter و setter این کلاس در صورت نیاز باید به صورت ()getName و (setName(String name تعریف شود.
- کلیهی ویژگیهای این کلاس باید به گونهای تعریف شوند که به صورت مستقیم از سایر کلاسها قابل دسترسی نباشند.
- پیادهسازی کلاس باید به گونهای باشد که فقط و فقط یک نمونه از این کلاس در برنامه بتواند وجود داشته باشد.
- این کلاس یک متد با نام ()getInstance دارد که تنها نمونهی این کلاس را برمیگرداند، بدیهی است که کلاسهای دیگر باید بتوانند به این متد دسترسی داشته باشند.
آنچه باید آپلود کنید:
یک فایل زیپ شامل بستهی ir.javacup.company است. به صورتی که وقتی فایل زیپ را باز میکنیم، دقیقا شاخهی ir را ببینیم که درون آن شاخهی javacup و درون آن نیز شاخهی company قرار دارد. در داخل شاخهی company فقط فایل Company.java وجود دارد.
برای داوری تمرین، میتوانید پاسخ خود را در سایت Quera به نحوی که در بالا گفته شد، بارگذاری کنید.
با ما همراه باشید:
آدرس کانال تلگرام: IranianJavaDevelopers@
آدرس صفحه اینستاگرام: javacup.ir
آدرس گروه لینکدین: Iranian Java Developers
تا قبل از اولین ساخته شدن instance ش وقتی getname صدا میخوره جواب چی باید برگردونه؟
چطور ممکنه این اتفاق بیفته؟
متد getName در خارج از این کلاس اگر بخواد فراخوانی بشه، حتما روی یک شی از Company فراخوانی میشه.
سلام این کلاس فقط همین یک ویژگی name را دارد؟ منظورتان این است که باید final باشد یا همین که setter نداشته باشد کافی است؟
سلام
کلا در هیچ صورتی مقدارش نباید قابل تغییر باشد
با سلام
من بسته بیان شده را ایجاد می کنم و طبق آنچه که گفته شده کد را زده ام. ولی صفر می ده و میگه نتونستیم کد شما رو روی ۴ تا تست اجرا کنیم. بزرگی کوچکی بیان شده با آنچه در تست صورت می گیرد یکی است؟
سلام
ظاهرا خودتون متوجه اشکال کدتون شدید و خدا رو شکر نمرهی کامل هم گرفتید.
از این پس، بهتره سوالات و مشکلات این چنینی رو از طریق قسمت “سوال بپرسید” در سایت کوئرا مطرح کنید. به این ترتیب احتمالا با سرعت بیشتری پاسخ سوالتان را خواهید گرفت.
با تشکر
سلام منم دقیقا همین مشکلو دارم. با توجه به این که به فینال نزدیک میشیم ممکنه یه بررسی کنید ببینید چی شده؟ تو همه سوالا من امتیاز صفر می گیرم. مطمئنم که بسته رو هم درست فرستادم فقط پوشه ir رو زیپ کردم
سلام
فقط در بخش «سوال بپرسید» امکان پاسخ به این سوالات و بررسی مشکل شما وجود داره. تعداد سوالاتی که پرسیده میشه زیاده و همکاران من ممکنه نتونن به سرعت به سوالات شما پاسخ بدن. لطفا صبور باشید:)