我在尝试使用4个类创建简单测试时遇到了麻烦。我想做一些简单的事情,我创建一个用户,它可以访问登录,发送电子邮件和注销(作为示例)。我的问题是我不太清楚在第2,第3,第4课的内容。 AppUser类我希望能够访问许多类(即AppMenu,EmailPage等)。因此扩展不起作用。
我的构造函数应该如何让AppUser访问其他类中的许多方法?或者我还需要其他东西。非常感谢帮助提高我的理解。
/** First class **/
public class AppTest {
public static void main(String[] args) {
AppUser user = new AppUser();
user.login();
user.sendEmail();
user.logOut();
}
}
/** Second class **/
public class AppUser {
}
/** Third class **/
public class AppMenu {
public void login() {
System.out.println("I logged in!!!");
}
public void logOut() {
System.out.println("I logged out!!!");
}
}
/** Fourth class **/
public class EmailPage {
public void sendEmail() {
System.out.println("Send Email");
}
}
答案 0 :(得分:0)
将它们作为类成员变量。见下文实施:
public class AppTest {
public static void main(String[] args) {
AppUser user = new AppUser();
user.login();
user.sendEmail();
user.logOut();
}
}
/** Second class **/
public class AppUser {
private AppMenu am;
private EmailPage email;
public AppUser(){
am = new AppMenu();
email = new EmailPage();
}
public void login(){
am.login();
}
public void logout(){
am.logout();
}
public void sendEmail(){
email.sendEmail();
}
}
/** Third class **/
public class AppMenu {
public void login() {
System.out.println("I logged in!!!");
}
public void logOut() {
System.out.println("I logged out!!!");
}
}
/** Fourth class **/
public class EmailPage {
public void sendEmail() {
System.out.println("Send Email");
}
}
因此,您希望有一个能够登录,注销和发送电子邮件的用户。因此,您需要将所有这些功能包装在用户类中,这意味着如果您对电子邮件发送和登录/注销功能进行任何更改,那么调用用户类的类不会受到影响。
答案 1 :(得分:0)
private AppMenu appmenu=null;
private EmailPage emailpage = null;
APPUSER(){ appmenu = new AppMenu(): emailpage = new EmailPage();
}
public void login(){ appmenu.login(); }
public void sendEmail(){ emailpage.sendEmail(); }
您必须在AppUser
课程中定义这些方法,以便像您一样进行访问