public interface Forum { public void viewPosts(); }
// 用户类:实现用户的方法 public class User implements Forum { public void viewPosts() { System.out.println("Viewing all posts"); } public void createPost() { System.out.println("Creating a new post"); } public void editPost() { System.out.println("Editing an existing post"); } public void editProfile() { System.out.println("Editing user profile"); } }
// 代理类:控制用户和游客的权限 public class ForumProxy implements Forum { private User user;
public ForumProxy(User user) { this.user = user; }
public void viewPosts() { user.viewPosts(); }
public void createPost() { if (user != null) { user.createPost(); } else { System.out.println("Guests cannot create posts"); } }
public void editPost() { if (user != null) { user.editPost(); } else { System.out.println("Guests cannot edit posts"); } }
public void editProfile() { if (user != null) { user.editProfile(); } else { System.out.println("Guests cannot edit profiles"); } } }
// 测试代码 public class Test { public static void main(String[] args) { User user = new User(); ForumProxy forum = new ForumProxy(user);
forum.viewPosts(); // View all posts forum.createPost(); // Create a new post forum.editPost(); // Edit an existing post forum.editProfile(); // Edit user profile