سلام
من یک اینترفیس دارم و دو کلاس که از این اینترفیس مشتق شده :
Interface A {}
class B implements A{ String name;}
calass C implements A{ String lastName;}
دو متد تو یک کلاسی مثل K دارم که اسماشون یکیه و پارمترهاش از نوع کلاس A و کلاس B هست.
class k {
public void del(B b){
delete(b.name);
}
public void del(C c){
delete(c.lastName);
} }
توی یک کلاس دیگه مثل G :
class G{
K k=new k();
public void delete (A a){
k.del(a); }
حالا من میخام یه شیء از کلاس G بسازم و وقتی یه شی از نوع کلاس B بهش دادم name رو حذف کنه و وقتی یه شیء از کلاس C بهش دادم last name رو مثلا حذف کنه !
G g=new g();
B b=new b();
g.delete(b)
چطوری میتونم اینکارو کنم ؟
ینی اصن امکانش هست بدون اینکه چند متد مختلف درست کنم و تو متد delete چک کنم ببینم که پارامتر از چه نوعی هست و متد مربوطه اجرا بشه خود جاوا بفهمه که متدی که فرستادم بهش از چه نوعیه ؟ مثلا چیزی شبیه فرستادن آرایه ها که با این روش میشه مشخص کرد از چه نوعیه
delete(List<? extends A>)
چیزی شبیه به این هست برای کلاس ها و پارمتر ها ؟