OOP允许抽象方法的继承,因此每个子项都有自己的实现。这种能力通常会对应用程序进行编码,因此,它在不同的时间调用同一个消息,并根据实例化的子类型接收不同的输出。这个概念被称为多态。
想象一下,Polymorphism为开发人员提供了创建对象的机会。可以为此对象分配对多个类实例之一的引用,这两个实例都包含具有相同签名但具有不同实现的方法。这项任务是通过条件陈述。此后,使用此对象调用该方法,而该方法依次根据适当的条件执行不同的操作。
使用相同的视图,但现在我们正在处理一个Java应用程序,它有许多包都包含一个同名的类。应用程序的所有用户通过Login类然后路由到主菜单屏幕(主类)的方案。有两个不同的用户,因此有两个版本的Main类,每个版本都在两个包中(比如:admin和user),作为相应包的其余部分的入口点。
是否存在多态性模仿让我们在Login类中声明一个对象,在验证期间,然后从用户类型中分配对包映射的引用?
此后,调用reference.Main.setVisible(true);
将打开当前登录用户类型的Main类。
答案 0 :(得分:0)
两个版本的菜单都实现了一个接口/抽象类。然后在登录类中以多态方式使用该接口。
例如,创建一个名为Menu的抽象类,并让userMenu和adminMenu类扩展Menu。在您的Login类中,创建一个Menu类型的字段(为了举例,请将其命名为m)。在运行时分配新的UserMenu或AdminMenu,具体取决于用户是谁。然后,当您想要打开菜单时,请致电m.setVisible(true)