9.解释面向对象程序设计中封装、继承、多态的概念。10.扩展本章的例6-4,为向量类增加计算内积的功能。
时间: 2024-02-20 20:55:59 浏览: 18
9. 面向对象程序设计中,封装、继承、多态是三个重要的概念。
- 封装:封装指的是将数据和对数据的操作封装在一起,形成一个类。封装的目的是保护数据,防止数据被非法修改,同时也方便使用者调用类的方法来操作数据。
- 继承:继承指的是子类可以继承父类的属性和方法,从而避免重复编写代码。子类可以重载父类的方法,也可以定义自己的属性和方法。
- 多态:多态指的是同一个方法可以在不同的类中有不同的实现。多态使得程序可以更灵活地处理不同的对象,提高了程序的可扩展性和可维护性。
10. 以下是扩展本章的例6-4,为向量类增加计算内积的功能的示例代码:
```python
class Vector:
def __init__(self, x, y):
self.__x = x
self.__y = y
def get_x(self):
return self.__x
def get_y(self):
return self.__y
def __add__(self, other):
return Vector(self.__x + other.get_x(), self.__y + other.get_y())
def __sub__(self, other):
return Vector(self.__x - other.get_x(), self.__y - other.get_y())
def __mul__(self, other):
return Vector(self.__x * other, self.__y * other)
def __rmul__(self, other):
return Vector(self.__x * other, self.__y * other)
def __str__(self):
return "({0}, {1})".format(self.__x, self.__y)
def dot_product(self, other):
return self.__x * other.get_x() + self.__y * other.get_y()
```
在上面的代码中,我们为向量类增加了一个`dot_product`方法,用来计算向量的内积。使用方法如下:
```python
v1 = Vector(1, 2)
v2 = Vector(3, 4)
print(v1.dot_product(v2)) # 输出:11
```
这里的输出结果是向量v1和v2的内积,计算公式为:v1.x * v2.x + v1.y * v2.y。