类型安全与数据封装 — 软件工程选择题
题目
某系统需要表示 0~100 的课程成绩,要求成绩不能取范围外的值,外部代码也不能绕过校验直接修改存储值。哪种设计最符合类型安全与数据封装?
A. 定义成绩类型,将字段设为 private,并在构造方法和公开更新方法中校验范围
B. 使用公开的 int 字段存储成绩,由调用者自行保证范围
C. 使用公开的 String 字段存储成绩,并约定只填写合法数字
D. 定义 private int 字段,但不提供校验,也不提供公开访问方法