定义一个学生的类,包含普通的姓名学号等属性,以及手机号码和证号私有属性,同时需要设计一个方法,格式化打印所有的属性信息,并测试该类
时间: 2023-12-10 20:03:08 浏览: 115
好的,以下是一个Python实现的学生类示例:
```python
class Student:
def __init__(self, name, student_id, phone_number, id_number):
self.name = name
self.student_id = student_id
self.__phone_number = phone_number
self.__id_number = id_number
def get_info(self):
print("姓名:", self.name)
print("学号:", self.student_id)
print("手机号:", self.__phone_number)
print("证件号:", self.__id_number)
```
在这个示例中,我们定义了一个名为 `Student` 的类,它有四个属性,分别是 `name`、`student_id`、`__phone_number`、`__id_number`。其中 `__phone_number` 和 `__id_number` 是私有属性,无法直接访问。
在类的构造函数 `__init__` 中,我们为每个属性赋值。注意到 `__phone_number` 和 `__id_number` 前面有两个下划线,这表示它们是私有属性,外部无法直接访问。这是出于安全性考虑,避免了属性被误修改或泄露。
另外,我们还定义了一个名为 `get_info` 的方法,它用于打印学生的所有属性信息。注意到方法名前面没有下划线,表示它是公有方法,外部可以调用。
我们可以使用以下代码测试 `Student` 类:
```python
# 创建一个学生对象
s = Student("张三", "001", "13812345678", "310101198001010001")
# 调用 get_info 方法打印属性信息
s.get_info()
```
运行结果如下:
```
姓名: 张三
学号: 001
手机号: 13812345678
证件号: 310101198001010001
```
这表明我们的 `Student` 类已经成功定义,并且可以正常工作。
阅读全文