JAVA 100道题(8)

本文详细介绍了如何在Python中创建一个包含姓名、年龄和地址属性的Person类,包括定义构造函数、getter和setter方法,以及对年龄属性的验证。
摘要由CSDN通过智能技术生成

8.编写一个Person类,包含姓名、年龄和地址等属性,并实现相应的getter和setter方法。

以下是一个Python编写的Person类的示例,它包含姓名、年龄和地址等属性,并实现了相应的getter和setter方法:

 

python复制代码

class Person:
def __init__(self, name, age, address):
self._name = name
self._age = age
self._address = address
# Getter方法
def get_name(self):
return self._name
def get_age(self):
return self._age
def get_address(self):
return self._address
# Setter方法
def set_name(self, name):
self._name = name
def set_age(self, age):
if not isinstance(age, int) or age < 0:
raise ValueError("Age must be a non-negative integer.")
self._age = age
def set_address(self, address):
self._address = address
# 使用Person类
person = Person("Alice", 25, "123 Main Street")
# 获取属性值
print(person.get_name()) # 输出: Alice
print(person.get_age()) # 输出: 25
print(person.get_address()) # 输出: 123 Main Street
# 设置属性值
person.set_name("Bob")
person.set_age(30)
person.set_address("456 Elm Street")
# 再次获取属性值,确认它们已经被更新
print(person.get_name()) # 输出: Bob
print(person.get_age()) # 输出: 30
print(person.get_address()) # 输出: 456 Elm Street

在这个例子中,Person类有一个构造函数__init__,它接收三个参数:nameageaddress,并将它们分别赋值给类的私有属性_name_age_address。getter方法(如get_name)用于获取这些属性的值,而setter方法(如set_age)用于设置属性的值。在set_age方法中,还加入了一个简单的验证,确保年龄是一个非负整数。

注意,在Python中,通常我们不需要显式地编写getter和setter方法,因为我们可以直接使用属性名称来访问和修改对象的属性。但是,在某些情况下,如需要执行额外的逻辑或验证时,可以定义这些方法。此外,使用下划线前缀(如_name)是一种惯例,用于指示该属性是“受保护的”或“私有的”,意味着它不应该在类外部直接访问,而是通过类提供的方法(如getter和setter)来访问和修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值