我是OOP的新手,我不知道该如何进行。我的主要要求是我想要一个基本用户类:
User
id
username
email
password
salt
.....
Student
name
gender
school
address
Teacher
name
study
salary
我不知道应该使用单表继承还是类表继承。因为所有的学生或老师都要登录到系统中,所以我想保持这些数据的通用
Student和Teacher都是用户,所以Student是从User扩展而来的,Teacher也是。
检查继承是否合法,可以通过在两个对象之间说"是"来完成。
"学生就是老师"->错误
"学生是用户"->真正的
由于Student
和Teacher
有额外的不同字段,因此应该使用类表继承。"单表继承"将迫使您拥有许多具有多个NULL
值的行,从DB设计的角度来看,这是一个坏主意。
顺便说一句,由于两个子类中都有name
字段,因此可以将其向上移动。
我可以向你推荐这些书。他们把这个话题讲得很清楚。
- PHP设计模式
- 清洁代码(Robert C.Martin)
它们有助于您理解如何构建对象之间关系清晰、干净且可维护的软件。所有OOP用户必读,我想!