مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت دهم

سلام و خسته نباشید خدمت همهقسمت نهم از مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید رو در پیش داریم که میتونید از طریق لینک های زیر به توضیحات و قسمت های قبلی دسترسی داشته باشید ، امروز میریم سراغ ده سوال بعدی...مجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت اولمجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت دوممجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت سوممجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت چهارممجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت پنجممجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت ششممجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت هفتممجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت هشتممجموعه تقلب مصاحبه شغلی برنامه نویس اندروید - قسمت نهم۹۱ـ overload کردن توابع در جاوا چه معنی دارد ؟overload کردن توابع یعنی داشتن دو یا چند تابع به همان نام در همان کلاس با ورودی های مختلف.نکات:هنگام overload کردن یک تابع حتما باید لیست ورودی ها تغییر کندتوابع overload شده می توانند نوع خروجی تابع را عوض کنندتوابع overload شده می توانند سطح دسترسی را عوض کنندتوابع overload شده می توانند گستره ی خطا های ( exception ) احتمالی توابع را تغییر دهندیک تابع می تواند در همان کلاس یا در یک زیر کلاس overload شود۹۲ـ override کردن توابع به چه معناست ؟override کردن توابع هنگامی اتفاق می افتد که یک زیر کلاس یک تابع با همان لیست ورودی ها و نوع خروجی که در ابرکلاس است را تعریف نماید.نکات:شما نمی توانید یک متد با سطح دسترسی عمومی ( public ) را به صورت محافظت شده ( protected ) دوباره override کنید.شما نمی توانید یک متد final را override کنیدشما نمی توانید یک متد static را override کنیدمتد های overload شده نیز می توانند override شوند۹۳. چرا نباید متد های abstract را در متد سازنده ( constructor ) فراخوانی کرد ؟مشکل این است که کلاس هنوز به صورت کامل ساخته نشده است و هنگام فراخوانی این تابع در زیرکلاس ممکن است مشکلاتی پدید بیاید.۹۴. تفاوت ترکیب و وراثت را بیان کنید:ترکیب در اصل به معنی " استفاده از... " یا " دارای... " می باشد. مثلا در مثال پایین کلاس Employee دارای کلاس Person می باشد ولی از کلاس Person ارث بری نکرده است.class Person { String Title; String Name; Int Age; public Person(String title, String name, String age) { this.Title = title; this.Name = name; this.Age = age; } } class Employee { Int Salary; private Person person; public Employee(Person p, Int salary) { this.person = p; this.Salary = salary; } }ـ۹۵. تفاوت Encapsulation و Abstraction چیست ؟ـ Abstraction در اصل به نمای خارجی کلاس تمرکز دارد اما Encapsulation از دیدن نمای داخلی کلاس با مخفی سازی اطلاعات جلوگیری می کندـ Abstraction مشکلات طراحی یک کلاس را برطرف می کند در حالی که Encapsulation یک نوع پیاده سازی است.۹۶. تفاوت متد سازنده و دیگر متد ها در چیست ؟متد سازنده بایم همان نام کلاس را داشته باشد و همچنین هیچ نوع خروجی ای نباید داشته باشد.متد سازنده وظیفه ی initiate اجزای کلاس را دارد اما باقی توابع همچین وظایفی ندارند و تنها عضوی از کلاس می باشند.متد های سازنده نمی توانند ارث بری کنند اما اگر کلاس مشتق شده باشد می تواند متد سازنده ابرکلاس خود را فراخوانی کند.سازنده ها می توانند از تابع this استفاده کنند تا به متد های سازنده ی دیگر در همان کلاس دسترسی پیدا کنند.سازنده ها می توانند از تابع super استفاده کنند تا به متد سازنده ابرکلاس خود دسترسی پیدا کنند.متد های غیر سازنده برای فراخوانی نیاز به نمونه ای ( instance ) از کلاس دارند به همین دلیل نمونه ی کلاس باید توسط کلمه کلیدی new ساخته شود.متد های کلاسی‌، متد هایی هستند که به صورت استاتیک تعریف می شوند و برای فراخوانی آن ها نیاز به نمونه گیری از کلاس نیست.۹۷. تفاوت نمونه گیری از یک کلاس و initiate کردن یک کلاس چیست ؟initiate کردن یک کلاس به معنای گرفتن حافظه برای متغیر آن کلاس است. متغیر ها باید مقدار داشته باشند وگرنه سیستم همان مقدار قبلی درون آن قسمت از حافظه را به متغیر می دهد. برای جلوگیری از این مشکل زبان جاوا مقدار پیش فرض متغیر ها را برابر نوع ( type ) اطلاعات قرار می دهد.به روند تخصیص مقدار به یک متغیر از پیش تعریف شده نمونه گیری از یک کلاس می گویند.۹۸. داده ها در جاوا pass by reference هستند یا pass by value ؟خود جاوا همیشه pass by value است.جاوا یک کپی از مقدار متغیر را به تابع می دهد و سپس کار ها روی کپی انجام می شود و هیچ نتیجه ای به متد اصلی اعمال نمی شود.جاوا آدرس همان متغیر را کپی می کند و به تابع می دهد و هنوز پارامتر ورودی یک تابع به همان متغیر اشاره می کند اما تمامی تغییرات در همان تابع باقی می ماند.۹۹. مقادیر ابتدایی در جاوا چیستند ؟مقدار اولیه یک byte برابر 0 می باشدمقدار اولیه یک short برابر 0 می باشدمقدار اولیه یک int برابر 0 می باشدمقدار اولیه یک long برابر 0L می باشدمقدار اولیه یک float برابر 0.0f می باشدمقدار اولیه یک byte برابر 0.0d می باشدمقدار اولیه یک char برابر '0000\u' می باشدمقدار اولیه یک String یا هر شئ دیگر برابر null می باشدمقدار اولیه یک boolean برابر false می باشد۱۰۰. تفاوت == و تابع equals در جاوا چیست ؟در اصل == آدرس دو شئ را مقایسه می کند اما تابع equals محتوای دو شئ را مقایسه می کند.به عبارتی دیگر == بررسی می کند که آیا دو شئ به یک مکان از حافظه اشاره می کنند یا نه. اما تابع equals بررسی می کند که آیا مقادیر دو شئ با هم برابر است یا خیرترجمه متنی از Anitaa Murthyتشکر بابت مطالعه پستلایک و حمایت یادتون نرهسوالی بود درخدمتمنوشته شده با ❤️ توسط کوچیکتون حمیدرضا شجراوی =)))