Saya memiliki persyaratan di mana fungsi mengambil parameter berbeda dan mengembalikan objek unik. Semua fungsi ini menjalankan operasi yang sama.
ie.
public returnObject1 myfunction( paramObject1 a, int a) {
returnObject1 = new returnObject1();
returnObject1.a = paramObject1.a;
return returnObject1;
}
public returnOject2 myfunction( paramObject2 a, int a){
returnObject2 = new returnObject2();
returnObject2.a = paramObject2.a;
return returnObject2;
}
Seperti yang Anda lihat di atas, kedua fungsi tersebut melakukan tugas yang sama tetapi keduanya mengambil parameter berbeda sebagai masukan dan mengembalikan objek berbeda.
Saya ingin meminimalkan penulisan fungsi berbeda yang melakukan tugas yang sama.
Apakah mungkin untuk menulis metode umum untuk ini yang dapat menggantikan parameter berdasarkan panggilan ke fungsi?
paramObject dan returnObject pada dasarnya adalah dua kelas yang memiliki variabel berbeda. Mereka tidak berhubungan satu sama lain.
Tujuan saya adalah saya tidak ingin melakukan fungsi yang berlebihan karena fungsinya melakukan pekerjaan yang hampir sama. Saya ingin memiliki satu fungsi yang dapat menangani input berbeda dan output pengembalian berbeda.
tujuan saya adalah melakukan sesuatu seperti ini (jika memungkinkan):
public static < E > myfunction( T a, int a ) {
// do work
}
Tipe pengembalian E dan input T dapat terus bervariasi.
public T myfunction(T param, int a)
- person Asew   schedule 06.07.2017ReturnObject
atauParamObject
, yang terakhir kemungkinan besar bukan ide yang bagus di sini. Pada titik inilah Anda harus mempertimbangkan kembali desain Anda. Saya hanya memiliki gambaran yang samar-samar tentang apa yang sebenarnya Anda lakukan tetapi pola Pabrik Abstrak sepertinya berguna di sini. Mungkin juga menggunakan kelebihan beban seperti yang telah Anda lakukan adalah solusi yang sangat baik. Sulit untuk mengatakannya tanpa mengetahui lebih banyak. - person Radiodef   schedule 06.07.2017new EitherType()
,objOfUnrelatedType.a = objOfAnotherUnrelatedType.a;
,return objOfEitherType;
) dari masing-masing metode adalah tindakan yang berbeda, karena memiliki tampilan kode sumber yang serupa tidak dihitung. - person Holger   schedule 06.07.2017