正方形(square)具有菱形(diamond)的四条边相等的特征,同时又具有长方形(rectangle)四个角是直角的特征。请编写程序实现上述图形的继承关系,输出正方形的特征;四个角是直角、四条边相等,
时间: 2024-09-10 09:04:31 浏览: 77
在面向对象编程中,你可以通过创建一个抽象类或接口来定义正方形和菱形共同的基础特性,然后让正方形继承这个基础并添加特有的属性。这里是一个简单的Python示例:
```python
from abc import ABC, abstractmethod
# 定义一个抽象基类,包含边长相等和角是直角的共性
class Shape(ABC):
@abstractmethod
def __init__(self, side_length):
self.side_length = side_length
@property
def sides(self):
return self.side_length * 4
def display_shape(self):
print(f"Shape with {self.sides} equal sides.")
# 定义正方形类,继承Shape并实现抽象方法
class Square(Shape):
def __init__(self, side_length):
super().__init__(side_length)
def display_square(self):
print("All angles are right-angled.")
# 创建正方形实例并显示其特征
square = Square(5)
square.display_shape() # 输出 "Shape with 20 equal sides."
square.display_square() # 输出 "All angles are right-angled."
```
在这个例子中,`Square`类继承自`Shape`,实现了`display_shape()`方法(输出四条边的信息)以及覆盖了抽象方法`__init__()`来指定边长,并添加了一个`display_square()`方法(输出所有角是直角的信息)。
阅读全文