我是OOP的新手,我很困惑该如何继续。我的主要要求是希望拥有基本的user类:
User
id
username
email
password
salt
.....
Student
name
gender
school
address
Teacher
name
study
salary
如果我应该使用单表继承还是类表继承,我会感到困惑。因为所有的学生或老师都要登录系统,所以我想让这些数据保持通用
发布于 2012-07-13 07:01:52
学生和教师都是用户,学生是用户的延伸,教师也是用户的延伸。
检查继承是否合法,可以通过在两个对象之间说'is a‘来完成。
“学生是老师”-> false
“学生是用户”-> true
发布于 2012-07-13 07:14:44
因为Student
和Teacher
有额外的和不同的字段,所以你应该继承类表。单表继承将迫使您拥有许多具有多个NULL
值的行,从DB设计的角度来看,这不是一个好主意。
顺便说一句,因为在两个子类中都有name
字段,所以可以在层次结构中向上移动它。
发布于 2012-07-13 07:53:28
我可以向你推荐这些书。他们让这个话题变得非常清晰。
它们帮助您理解如何构建干净且可维护的软件,以及对象之间的清晰关系。我认为这是所有OOP用户的必读之处!
https://stackoverflow.com/questions/11465604
复制