可能重复:
c#多重继承
我只是使用Asp.net创建一个简单的应用程序,这里有3个类User, Staff, Student.在User课堂上我喜欢UserName, Password, Email and Mobile和在Staff and Student课堂上的属性General details like FirstName, MiddleName, LastName as well as Email, Mobile.
每当我添加新员工或学生时,我都要为他们创建一个用户帐户.
所以在User类中,我尝试继承Staff类,以便我可以从Staff中访问User类中的属性.
在成功添加人员数据之后,我需要Add在用户类中调用(我已经拥有此方法)方法,该方法将使用他的数据为员工创建用户帐户.
还有一件事,我知道C#不支持多重继承,这里我需要继承Staff和Student类.我怎样才能做到这一点.
有人能帮我一下吗.
小智 9
好的,很高兴看到所有来自人们的帖子都证明了他们为什么要读一本关于OO的书.
这里没有继承 - 这是一个经典的例子,其中继承是反模式.
相反,您应该有一个基于角色的模型.
用户(或实体)拥有ROLES集合.角色是/可以是:员工,学生和其他任何东西.
这允许角色有时间限制,但也允许角色更改(以后在员工中雇用的学生).它允许将所有相关信息附加到角色类,而不是使用User类上的空间.
它不是那么罕见 - 像Windows文件系统这样的元素具有10年以上的基于角色的安全性.使用继承来解决这个问题(并打开十几个新问题)是一种经典的反模式,因为它只是错误的方法.
唯一更糟的是你有User作为子类,而不是基类,但是再次:这根本不是继承的情况.
| 归档时间: |
|
| 查看次数: |
464 次 |
| 最近记录: |