آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

کپی کردن کلاس

Morteza  7 سال پیش  7 سال پیش
0 0

سلام دوستان
پروژه من شامل 2تا کلاس هست به اسم های Type1 و Type2 که هرکدوم متد ها و متغیر های مختص به خودشون رو دارند
حالا میخوام یه همچین ساختاری رو پیاده سازی کنم :

private void initialize(String type) {
if (type == "Type1") {
x = new Type1;
} else if (type == "Type2") {
x = new Type2;
}
}

x باید از چه نوعی باشه که بتونه Type1 یا Type2 رو بپذیره ؟

+1 0
فک کنم Object باشه میشه (7 سال پیش)
0 0
نه جواب نمیده (7 سال پیش)
+2 0
برای تشخیص مساوی بودن متن از == استفاده نمی کنن باید از equal استفاده کنی.از object فکر کنم بشه شاید مشکل از == بوده باشه یکبار دیگه هم امتحان کن. (7 سال پیش)
+2 0
همه کلاس ها در جاوا از object ارث بری میکنن پس شما میتونی راحت ایکس رو از نوع ابجکت قرار بدی .... و اینکه یک رشته رو نمیشه با عمگر == مقایسه کرد به این هم توجه کنید (7 سال پیش)
0 0
این که یه sample هست که منظورم رو بگم ،همچنین روش object یا حتی superclass یا اینترفیس نیاز بهcast کردن داره،ولی من نمیخوام نیاز به cast کردن باشه (7 سال پیش)
0 0
تا جایی که من بلدم و جاوا میگه این حالت به صورت اتوماتیک انجام میشه که بهش UpCasting گفته میشه و نیاز به ذکر صریح کست نیست!!! ... بیشتر توضیح بدید تا بحث کنیم ... (7 سال پیش)
0 0
سوال رو اینجا مطرح کردم : لینک (7 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Morteza  7 سال پیش
0 0

بدون cast کردن نمی توان به متد ها و فیلد ها دسترسی پیدا کرد :

+1 0
کلاس های Type 1 و Type 2 را از یک پدر ارث بری کنید . یا کلاسی با ورودی Generic بسازید . (7 سال پیش)

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