定义一个学生类要封装,属性包括姓名,年龄(18到50岁之间),性别(男或女),班级,学科,成绩
时间: 2024-09-14 21:09:20 浏览: 32
在面向对象编程中,我们可以定义一个名为"Student"的类来封装学生的相关信息。这个类将包含以下几个私有属性,以保证数据的安全性和一致性:
1. **姓名**:`private String name` - 学生的姓名。
2. **年龄**:`private int age` - 学生的年龄,范围限制在18到50之间,可以使用getters和setters方法来控制输入的合法性。
3. **性别**:`private String gender` - 可能的值为"男"或"女"。
4. **班级**:`private String class` - 学生所在的班级。
5. **学科**:`private String subject` - 学生主修的学科。
6. **成绩**:`private double score` - 学生成绩,通常在0到100分之间。
```java
public class Student {
private String name;
private int age;
private String gender;
private String class;
private String subject;
private double score;
// 构造函数
public Student(String name, int age, String gender, String class, String subject, double score) {
setAge(age);
if (age < 18 || age > 50) {
throw new IllegalArgumentException("年龄超出范围");
}
this.name = name;
this.gender = gender;
this.class = class;
this.subject = subject;
this.score = score;
}
// getters and setters for privacy
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) {
if (age < 18 || age > 50) {
throw new IllegalArgumentException("年龄超出范围");
}
this.age = age;
}
// ... 其他getter和setter方法
}
```
阅读全文