python编程实现构造日期类,包括年、月、日等私有属性,构造函数和操作这些私有属性的公有函数以及将该对象转换成字符串的转换函数(就是能强制类型转换成string类,比如:有一个日期对象d=date(2019,3,26), 则string(d)就会返回一个字符串“2019年3月26日”);构造人员类,包括姓名,出生日期(复合了日期类的对象)等私有属性,构造函数和操作这些属性的公有函数;构造学生类,该类从人员类派生而来,包括学号和专业私有属性,构造函数和操作私有属性的公有函数。
时间: 2024-03-14 08:45:51 浏览: 131
可以按照以下代码实现日期类、人员类和学生类:
```python
class Date:
def __init__(self, year, month, day):
self.__year = year
self.__month = month
self.__day = day
def __str__(self):
return '{}年{}月{}日'.format(self.__year, self.__month, self.__day)
class Person:
def __init__(self, name, birthdate):
self.__name = name
self.__birthdate = birthdate
def __str__(self):
return '姓名:{},出生日期:{}'.format(self.__name, self.__birthdate)
class Student(Person):
def __init__(self, name, birthdate, student_id, major):
super().__init__(name, birthdate)
self.__student_id = student_id
self.__major = major
def __str__(self):
return super().__str__() + ',学号:{},专业:{}'.format(self.__student_id, self.__major)
```
可以这样使用:
```python
birthdate = Date(2000, 1, 1)
p = Person('张三', birthdate)
s = Student('李四', birthdate, '20180001', '计算机科学与技术')
print(p)
print(s)
```
输出:
```
姓名:张三,出生日期:2000年1月1日
姓名:李四,出生日期:2000年1月1日,学号:20180001,专业:计算机科学与技术
```
阅读全文