Editor PHP Xinyi akan memperkenalkan kepada anda kaedah menggunakan dua generik untuk melaksanakan antara muka. Generik ialah ciri yang membolehkan penggunaan parameter jenis dalam bahasa pengaturcaraan, yang boleh meningkatkan fleksibiliti dan kebolehgunaan semula kod. Apabila melaksanakan antara muka, kita boleh menggunakan generik untuk menentukan jenis parameter dalam antara muka, supaya jenis data yang berbeza boleh digunakan dalam senario yang berbeza. Kaedah ini boleh menjadikan kod kami lebih serba boleh dan berskala serta meningkatkan kecekapan pembangunan. Dalam artikel ini, kami akan menerangkan secara terperinci cara menggunakan dua generik untuk melaksanakan antara muka dan memberikan kod sampel untuk rujukan anda.
Saya mempunyai tugasan dalam kerja rumah saya tetapi saya tidak dapat mengatasinya.
Kod antara muka pengubah adalah seperti berikut:
public interface transformer<from, to> { to transform(from value); }
Setakat ini, kod untuk kelas personsubscribertransformer
kelihatan seperti ini:
public class PersonSubscriberTransformer<FROM, TO> implements Transformer { private Predicate<Person> predicate; public PersonSubscriberTransformer(Predicate<Person> predicate) { this.predicate = predicate; } @Override public Object transform(Object value) { return null; } }Parameter kaedah
transform hendaklah list0833d296851a1e081f2175a4cbfa7135
并且它应该返回一个list2dd1b1a23a493c1b50630f436ee0c708
. Apabila saya menukar parameter, saya mendapat mesej ralat yang mengatakan bahawa saya harus menarik kaedah ke antara muka pengubah.
Apakah penyelesaian untuk melaksanakan kaedah ini dengan cara yang betul?
mengikut transform
的预期签名,from
应该是 list0833d296851a1e081f2175a4cbfa7135
和 to
应该是 list<subscriberphpcngt phpcn
. Kelas itu sendiri tidak seharusnya generik.
public class PersonSubscriberTransformer implements Transformer<List<Person>, List<Subscriber>> { // constructor... @Override public List<Subscriber> transform(List<Person> persons) { // complete this method... return null; } }
Atas ialah kandungan terperinci Menggunakan dua generik untuk melaksanakan antara muka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!