C# 点 线 面

问题及代码:

把定义平面直角坐标系上的一个点的类CPoint作为基类,派生出描述一条直线的类Cline,再派生出一个矩形类CRect。要求成员函数能够求出两点间的距离、矩形的周长和面积等。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
     class CPoint
    {
        public double x;
        public double y;
        public double GetX() { return x; }
        public double GetY() { return y; }     
        public void setPoint(int m,int n){x=m;y=n;}

    }
    class Cline : CPoint
    {
        public double Dis(CPoint P1,CPoint P2)
        {
            double dis;
            dis = Math.Sqrt((P1.GetX() - P2.GetX()) * (P1.GetX() - P2.GetX()) + (P1.GetY() - P2.GetY()) * (P1.GetY() - P2.GetY()));
            return dis;
        }
    }
    class CRect : Cline
    {
      public  CRect() { }
        double length=0, area=0;
        public double Getlength(CPoint p1,CPoint p4)
        {
            return length =
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我来帮你完成这个任务。 首先,我们需要定义一个描述的类 Point: ```python class Point: def __init__(self, x, y): self.x = x self.y = y ``` 接下来,我们创建 Point 的派生类 Line,用于描述一条直线。由于一条直线可以由两个确定,因此我们在 Line 类的构造函数传入两个 Point 类型的对象: ```python class Line(Point): def __init__(self, point1, point2): self.point1 = point1 self.point2 = point2 ``` 现在,我们可以定义成员函数求出两间的距离。我们可以使用勾股定理来计算两之间的距离: ```python class Line(Point): def __init__(self, point1, point2): self.point1 = point1 self.point2 = point2 def distance(self): return ((self.point1.x - self.point2.x) ** 2 + (self.point1.y - self.point2.y) ** 2) ** 0.5 ``` 接下来,我们创建描述三角形的类 Triangle。由于一个三角形可以由三个确定,因此我们在 Triangle 类的构造函数传入三个 Point 类型的对象: ```python class Triangle(Point): def __init__(self, point1, point2, point3): self.point1 = point1 self.point2 = point2 self.point3 = point3 ``` 现在,我们可以定义成员函数求出三角形的积。我们可以使用海伦公式来计算三角形的积: ```python class Triangle(Point): def __init__(self, point1, point2, point3): self.point1 = point1 self.point2 = point2 self.point3 = point3 def distance(self, point1, point2): return ((point1.x - point2.x) ** 2 + (point1.y - point2.y) ** 2) ** 0.5 def area(self): a = self.distance(self.point1, self.point2) b = self.distance(self.point2, self.point3) c = self.distance(self.point3, self.point1) s = (a + b + c) / 2 return (s * (s - a) * (s - b) * (s - c)) ** 0.5 ``` 现在,我们已经定义了描述、直线和三角形的类,并且实现了求两间距离和三角形积的成员函数。下是完整的代码: ```python class Point: def __init__(self, x, y): self.x = x self.y = y class Line(Point): def __init__(self, point1, point2): self.point1 = point1 self.point2 = point2 def distance(self): return ((self.point1.x - self.point2.x) ** 2 + (self.point1.y - self.point2.y) ** 2) ** 0.5 class Triangle(Point): def __init__(self, point1, point2, point3): self.point1 = point1 self.point2 = point2 self.point3 = point3 def distance(self, point1, point2): return ((point1.x - point2.x) ** 2 + (point1.y - point2.y) ** 2) ** 0.5 def area(self): a = self.distance(self.point1, self.point2) b = self.distance(self.point2, self.point3) c = self.distance(self.point3, self.point1) s = (a + b + c) / 2 return (s * (s - a) * (s - b) * (s - c)) ** 0.5 ``` 你可以通过以下代码测试上述类的功能: ```python # 创建两个 p1 = Point(0, 0) p2 = Point(3, 4) # 创建一条直线 line = Line(p1, p2) # 求出两之间的距离 print(line.distance()) # 输出 5.0 # 创建一个三角形 p3 = Point(5, 0) triangle = Triangle(p1, p2, p3) # 求出三角形的积 print(triangle.area()) # 输出 10.0 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值