请把下面的Student对象的gender字段对外隐藏起来,用get_gender()和set_gender()代替,并检查参数有效性

class Student(object):
    def __init__(self, name, gender):
        self.__name = name
        self.__gender = gender
    def set_gender(self,gender):
        self.__gender =gender
    def get_gender(self):
        return self.__gender

# 测试:
bart = Student('Bart', 'male')
if bart.get_gender() != 'male':
    print('测试失败!')
else:
    bart.set_gender('female')
    if bart.get_gender() != 'female':
        print('测试失败!')
    else:
        print('测试成功!')

我正在编辑【java】代码,遇到了输出错误 【student.Student@15db9742 student.Student@6d06d69c student.Student@7852e922 worker.Worker@4e25154f worker.Worker@70dea4e worker.Worker@5c647e05】 ,题目为【第一题:为某学校定义如下的类,测试其正确性: (1)在student包中定义一个学生类Student,包括成员变量:学生姓名(name)、性别(gender)、学号(stID)、班级(stClass)。 定义不同参数的构造器(构造方法重载),用以初始化不同成员变量,构造不同的对象。针对成员变量,设计相应的访问器方法(getXXX)修改器方法(setXXX)。 (2)在包worker定义一个工人类Worker,包括成员变量:工人姓名(name)、性别(gender)、工号(workerID)、部门(department)。定义不同参数的构造器(构造方法重载),用以初始化不同成员变量,构造不同的对象。针对成员变量,设计相应的访问器方法(getXXX)修改器方法(setXXX)。 (3)在包test中定义主类Test,在main方法中分别创建3个Student对象3个Worker的对象,用相应的数组来存储这些对象,遍历对象数组输出各对象信息(对象中各个成员变量的值)。如“张三,男,2003123,计算机类2班”,“李四,女,1001,后勤处。”】帮我检查改正错误点。我的原始代码如下: 【package student; public class Student { private String name; private String gender; private int stID; private String stClass; //四个参数 public Student(String name, String gender, int stID, String stClass) { this.name = name; this.gender = gender; this.stID = stID; this.stClass = stClass; } //三个参数 public Student(String name, String gender, int stID) { super(); this.name = name; this.gender = gender; this.stID = stID; } //两个参数 public Student(String name, String gender) { super(); this.name = name; this.gender = gender; } //方法定义 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public int getStID() { return stID; } public void setStID(int stID) { this.stID = stID; } public String getStClass() { return stClass; } public void setStClass(String stClass) { this.stClass = stClass; } }package worker; public class Worker { private String name; private String gender; private int workerID; private String department; //四个参数 public Worker(String name, String gender, int workerID, String department) { super(); this.name = name; this.gender = gender; this.workerID = workerID; this.department = department; } //三个参数 public Worker(String name, String gender, int workerID) { super(); this.name = name; this.gender = gender; this.workerID = workerID; } //两个参数 public Worker(String name, String gender) { super(); this.name = name; this.gender = gender; } //方法定义 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public int getWorkerID() { return workerID; } public void setWorkerID(int workerID) { this.workerID = workerID; } public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; } }package test; import student.Student; import worker.Worker; public class Test { public static void main(String[] args) { Student students[]=new Student[3]; students[0]=new Student("张三","男",1001,"语文1班"); students[1]=new Student("李师傅","男",1002,"数学3班"); students[2]=new Student("何可","女",1003,"英语5班"); for(Student student:students) { System.out.println(student); } Worker workers[]=new Worker[3]; workers[0]=new Worker("简洁","女",202501,"后勤部"); workers[1]=new Worker("松江","女",202502,"财务部"); workers[2]=new Worker("沈阳","男",202503,"行政部"); for(Worker worker:workers) { System.out.println(worker); } } }】
最新发布
03-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值