我是OOP的新手,我很困惑,我该怎么办。我的主要要求是我想拥有基本用户类:
User
id
username
email
password
salt
.....
Student
name
gender
school
address
Teacher
name
study
salary
如果我应该使用单表继承或类表继承,我感到很困惑。因为所有学生或老师都要登录系统,所以我想保持这些数据的共同点
答案 0 :(得分:0)
学生和教师都是用户,因此学生从用户延伸,教师也是如此。
检查继承是否合法,可以通过在两个对象之间说'是'来完成。
“学生是老师” - >假
“学生是用户” - >真
答案 1 :(得分:0)
由于Student
和Teacher
有更多不同的字段,因此您应该使用类表继承。单表继承将强制您拥有许多具有多个NULL
值的行,从数据库设计的角度来看这是一个坏主意。
顺便说一句,既然你在两个子类中都有name
字段,你可以将它移到层次结构中。
答案 2 :(得分:0)
我可以推荐你这些书。他们使这个话题非常清楚。
它们可以帮助您了解如何构建清晰且可维护的软件,并在对象之间建立清晰的关系。我认为必须为所有OOP用户阅读!