我是 OOP 的新手,我很困惑我应该如何进行。我的主要要求是我想拥有基本用户类:
User
id
username
email
password
salt
.....
Student
name
gender
school
address
Teacher
name
study
salary
如果我应该使用单表继承还是类表继承,我很困惑。因为所有学生或老师都将登录系统,所以我想保持这些数据通用
我是 OOP 的新手,我很困惑我应该如何进行。我的主要要求是我想拥有基本用户类:
User
id
username
email
password
salt
.....
Student
name
gender
school
address
Teacher
name
study
salary
如果我应该使用单表继承还是类表继承,我很困惑。因为所有学生或老师都将登录系统,所以我想保持这些数据通用
Student 和 Teacher 都是用户,所以 Student 从 User 扩展而来,Teacher 也是如此。
检查继承是否合法,可以通过在两个对象之间说“is a”来完成。
“学生是老师”-> false
“学生是用户”-> true
由于Student
并且Teacher
有额外和不同的字段,您应该使用类表继承。单表继承将迫使您拥有许多具有多个NULL
值的行,从数据库设计的角度来看,这是一个坏主意。
顺便说一句,由于您name
在两个子类中都有该字段,因此您可以将其向上移动。
我可以向你推荐这些书。他们使这个话题非常清楚。
它们帮助您理解,如何构建干净且可维护的软件,对象之间的关系清晰。我认为所有 OOP 用户必读!