Java 声明一个可重载的抽象方法?
我正在创建一个java类库,并试图实现一个工厂模式来帮助创建“预订”对象。我创建了一个接口IBookingFactory,它声明了一个方法createBooking,该方法接受许多参数 我的问题是,我不希望实现这个接口的类能够向方法传递不同的参数 实现该接口的类是GuestBookingFactory和CustomerBookingFactory。客户预订接受客票、客户和数量,客户预订接受客票、数量以及字符串电子邮件和地址 关于如何设计这个有什么建议吗?我知道我不能重载接口中声明的方法,所以我一直在想,还有什么其他方法可以考虑这个问题呢Java 声明一个可重载的抽象方法?,java,oop,interface,abstract-class,class-design,Java,Oop,Interface,Abstract Class,Class Design,我正在创建一个java类库,并试图实现一个工厂模式来帮助创建“预订”对象。我创建了一个接口IBookingFactory,它声明了一个方法createBooking,该方法接受许多参数 我的问题是,我不希望实现这个接口的类能够向方法传递不同的参数 实现该接口的类是GuestBookingFactory和CustomerBookingFactory。客户预订接受客票、客户和数量,客户预订接受客票、数量以及字符串电子邮件和地址 关于如何设计这个有什么建议吗?我知道我不能重载接口中声明的方法,所以我一
public interface IBookingFactory {
public Booking createBooking(Ticket ticket, Customer customer, Integer quantity);
}
public class CustomerBookingFactory implements IBookingFactory {
@Override
public CustomerBooking createBooking(Ticket ticket, Customer customer, Integer quantity) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
public class GuestBookingFactory implements IBookingFactory {
@Override
public Booking createBooking(Ticket ticket, Integer quantity, String email,
String address, String postcode) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
可以重载接口中声明的方法。如何重载?我得到一个错误,表示该方法没有重写或实现返回类型中的方法-我假定这是因为我在接口中声明了该方法,即获取票证、客户和数量,现在我正试图为一个客户机实现它,我想“重载”这个方法并传递不同的参数。是的,即使在一个接口中,也可以有任意数量的重载方法。您只需要为所有人提供实现declarations@Charlie您需要向我们展示您的代码。我想我的问题不是一个方法是否可以在接口中重载,我想声明一次该方法,但能够为每个具体化实现两个版本。。它们采用不同的参数。