设计一个接口Ipolygon,其中包含求draw(),实现Rect矩形类和Circle圆形类,并实现接口Ipolygon。在主函数中创建矩形和圆形对象,并调用方法。
时间: 2024-03-23 20:37:40 浏览: 41
好的,以下是设计实现:
```
#include <iostream>
using namespace std;
// 定义接口Ipolygon
class Ipolygon {
public:
virtual void draw() = 0;
};
// 实现Rect矩形类
class Rect : public Ipolygon {
public:
void draw() {
cout << "Drawing Rect..." << endl;
}
};
// 实现Circle圆形类
class Circle : public Ipolygon {
public:
void draw() {
cout << "Drawing Circle..." << endl;
}
};
int main() {
// 创建矩形对象并调用方法
Rect rect;
rect.draw();
// 创建圆形对象并调用方法
Circle circle;
circle.draw();
return 0;
}
```
在上面的代码中,我们定义了一个抽象类 Ipolygon,它包含一个纯虚函数 draw(),用于绘制多边形。接着,我们实现了 Rect 矩形类和 Circle 圆形类,并且它们都继承 Ipolygon 抽象类并实现了 draw() 方法。最后,在主函数中,我们创建了矩形和圆形对象,并调用了它们的 draw() 方法。
相关问题
设计一个接口Ipolygon,其中包含求draw(),实现Rect矩形类和Circle圆形类,并实现接口Ipolygon。在主函数中创建矩形和圆形对象,并调用方法
好的,我可以帮你设计这个接口Ipolygon,并创建矩形和圆形对象来测试它。
首先,我们需要定义Ipolygon接口,它应该包含一个名为draw()的方法,如下所示:
```python
class Ipolygon:
def draw(self):
pass
```
接下来,我们需要创建Rect矩形类和Circle圆形类,并实现Ipolygon接口,代码如下:
```python
class Rect(Ipolygon):
def __init__(self, width, height):
self.width = width
self.height = height
def draw(self):
print(f"Drawing a rectangle with width {self.width} and height {self.height}")
class Circle(Ipolygon):
def __init__(self, radius):
self.radius = radius
def draw(self):
print(f"Drawing a circle with radius {self.radius}")
```
现在我们可以在主函数中创建矩形和圆形对象,并调用draw()方法,如下所示:
```python
def main():
rect = Rect(5, 10)
circle = Circle(7)
rect.draw()
circle.draw()
if __name__ == '__main__':
main()
```
输出结果应该为:
```
Drawing a rectangle with width 5 and height 10
Drawing a circle with radius 7
```
这样我们就成功地设计了一个接口Ipolygon,并实现了Rect矩形类和Circle圆形类,并测试了它们的draw()方法。
使用C#设计一个接口Ipolygon,其中包含求draw(),实现Rect矩形类和Circle圆形类,并实现接口Ipolygon。在主函数中创建矩形和圆形对象,并调用方法
好的,下面是实现:
```csharp
using System;
interface Ipolygon
{
void draw();
}
class Rect : Ipolygon
{
int width;
int height;
public Rect(int w, int h)
{
width = w;
height = h;
}
public void draw()
{
Console.WriteLine($"绘制一个宽为{width},高为{height}的矩形");
}
}
class Circle : Ipolygon
{
int radius;
public Circle(int r)
{
radius = r;
}
public void draw()
{
Console.WriteLine($"绘制一个半径为{radius}的圆形");
}
}
// 在主函数中调用
class Program
{
static void Main(string[] args)
{
Rect rect = new Rect(10, 5);
Circle circle = new Circle(8);
rect.draw();
circle.draw();
}
}
```
输出结果为:
```
绘制一个宽为10,高为5的矩形
绘制一个半径为8的圆形
```
阅读全文