a.设计一个 Point 类(点类),它包含数据成员有横坐标 x 和纵坐标 y;成员 方法包括构造方法,获取成员的方法有 get_x 和 get_y,设置 x 和 y 的方法 set_x 和 set_y。 b.为(a)中 Point 类设计__str__特殊方法程序,以实现当 p1 为 Point(x1, y1) 的实例化对象时,print(p1)将输出形如:Point(x1, y1) 的格式,其中,x1, y1 为数字。 c.为(a)中 Point 类设计__add __运算符重载特殊方法程序,以实现当 p1 和 p2 为 Point(x1, y1) 和 Point(x2, y2) 的 实 例 化 对 象 时 , p1+p2 将 得 到 Point(x1+x2,y1+y2)。
时间: 2024-02-29 11:52:18 浏览: 246
point类程序
a. Point 类的实现如下:
```
class Point:
def __init__(self, x=0, y=0):
self._x = x
self._y = y
def get_x(self):
return self._x
def set_x(self, x):
self._x = x
def get_y(self):
return self._y
def set_y(self, y):
self._y = y
```
b. 为 Point 类设计 __str__ 特殊方法,实现输出 Point(x, y) 的格式:
```
class Point:
def __init__(self, x=0, y=0):
self._x = x
self._y = y
def get_x(self):
return self._x
def set_x(self, x):
self._x = x
def get_y(self):
return self._y
def set_y(self, y):
self._y = y
def __str__(self):
return "Point({}, {})".format(self._x, self._y)
```
c. 为 Point 类设计 __add__ 运算符重载特殊方法,实现 Point(x1+x2, y1+y2) 的功能:
```
class Point:
def __init__(self, x=0, y=0):
self._x = x
self._y = y
def get_x(self):
return self._x
def set_x(self, x):
self._x = x
def get_y(self):
return self._y
def set_y(self, y):
self._y = y
def __str__(self):
return "Point({}, {})".format(self._x, self._y)
def __add__(self, other):
return Point(self._x + other._x, self._y + other._y)
```
这样,我们就可以对 Point 类进行实例化,并使用类中定义的方法和运算符实现相应功能。例如:
```
p1 = Point(1, 2)
p2 = Point(3, 4)
print(p1) # 输出 Point(1, 2)
print(p2) # 输出 Point(3, 4)
p3 = p1 + p2
print(p3) # 输出 Point(4, 6)
```
阅读全文