日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

用户类java,通过Java中的类和接口实现不同的用户类型

發布時間:2024/9/30 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用户类java,通过Java中的类和接口实现不同的用户类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題

我對設計模式相當陌生,并且一直在研究這本書,Head First Design Patterns。我需要實現一個有3種用戶的系統:會員,主持人,管理員。主持人可以執行會員可以執行的所有操作,還可以添加其他內容,管理員可以執行主持人可以執行的所有操作,還可以添加其他內容。我已經對接口和類如何實現這一點作了基本的描述;沒有經驗,我需要SO社區關于這種設計的建議 - 無論是太臃腫還是愚蠢,還是需要更正。所以請耐心等待。

可能的解決方法

這里是接口:

public interface AdminBehavior

{

public addUser();

public deleteUser();

}

public interface ModeratorBehavior

{

public blockUser();

public deletePost();

}行為類:

public class AdminBehaviors implements AdminBehavior

{

public addUser() {

...

}

public deleteUser() {

...

}

}

public class NoAdminBehaviors implements AdminBehavior

{

public addUser() {

...//cannot do

}

public deleteUser() {

...//cannot do

}

}

+ Same as above done for Moderators...classes ModeratorBehaviors and NoModeratorBehaviors實際的用戶類別:

public class Member

{

protected ModeratorBehavior moderatorBehavior;

protected AdminBehavior adminBehavior;

public Member() {

moderatorBehavior = new NoModeratorBehavior();

adminBehavior = new NoAdminBehavior();

}

public login() {

...

}

public logout() {

...

}

public post() {

...

}

public comment() {

...

}

//Moderator priv'ed actions

public blockUser() {

moderatorBehavior.blockUser();

}

public deletePost() {

moderatorBehavior.deletePost();

}

//Admin priv'ed actions

public addUser() {

adminBehavior.addUser();

}

public deleteUser() {

adminBehavior.deleteUser();

}

}

public class Moderator extends Member

{

public Moderator() {

moderatorBehavior = new ModeratorBehavior();

adminBehavior = new NoAdminBehavior();

}

}

public class Admin extends Moderator ((or Member?))

{

public Admin() {

moderatorBehavior = new ModeratorBehavior();

adminBehavior = new AdminBehavior();

}

}就我個人而言,我覺得這似乎有點過度或混亂......更好的方法來做到這一點?

總結

以上是生活随笔為你收集整理的用户类java,通过Java中的类和接口实现不同的用户类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。