На базе класса "двухмерная точка" унаследовать класс "трехмерная точка" - C#
Формулировка задачи:
На базе класса "двухмерная точка", при помощи наследия классов, создать класс "трехмерная точка".
Переопределить\перегрузить методы:
-Расстояние между двумя точками.
-Расстояние от данной точки до другой точки.
-Расстояние от данной точки до начало координат.
-Сдвиг по оси Х.
-Сдвиг по оси Y.
-Два метода для получения Х и Y координаты точки.
вот код не очень правильный, помогите, плиз))
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Lab4
{
class Point
{
static void Main(string[] args) { }
private double x;
private double y;
public Point()
{
x = 0;
y = 0;
}
public Point(double _x, double _y)
{
x = _x;
y = _y;
}
public Point(Point _point)
: this(_point.x, _point.y)
{
}
public static double FromPointToPoint(Point _point1, Point _point2)
{
return Math.Sqrt(Math.Pow((_point1.x - _point2.x), 2) + Math.Pow((_point1.y - _point2.y), 2));
}
public static double FromPointToStart(Point _point1)
{
return FromPointToPoint(_point1, new Point());
}
public double X
{
set
{
x = value;
}
get
{
return x;
}
}
public double Y
{
set
{
y = value;
}
get
{
return y;
}
}
public void ShiftX(double _shift)
{
x += _shift;
}
public void ShiftY(double _shift)
{
y += _shift;
}
public override string ToString()
{
return "(" + x + "|" + y + ")";
}
}
}Решение задачи: «На базе класса "двухмерная точка" унаследовать класс "трехмерная точка"»
textual
Листинг программы
public class Point
{
protected double _x;
protected double _y;
public Point(double x, double y)
{
_x = x;
_y = y;
}
public Point()
: this(0d, 0d)
{
}
public Point(Point point)
: this(point.X, point.Y)
{
}
public double X
{
set { _x = value; }
get { return _x; }
}
public double Y
{
set { _y = value; }
get { return _y; }
}
public virtual double GetDistanceFromPointToPoint(Point point1, Point point2)
{
return Math.Sqrt(Math.Pow((point1._x - point2._x), 2) + Math.Pow((point1._y - point2._y), 2));
}
public virtual double GetDistanceFromPointToStart(Point point1)
{
return GetDistanceFromPointToPoint(point1, new Point());
}
public virtual void ShiftX(double dx)
{
_x += dx;
}
public virtual void ShiftY(double dy)
{
_y += dy;
}
public override string ToString()
{
return "(" + _x + "|" + _y + ")";
}
}
public class Point3D : Point
{
protected double _z;
public Point3D(double x, double y, double z)
: base(x, y)
{
_z = z;
}
public Point3D()
: this(0d, 0d, 0d)
{
}
public Point3D(Point3D point)
: this(point.X, point.Y, point.Z)
{
}
public double Z
{
set { _z = value; }
get { return _z; }
}
//public override double GetDistanceFromPointToPoint(Point point1, Point point2)
//{
// return base.GetDistanceFromPointToPoint(point1, point2);
//}
//public override double GetDistanceFromPointToStart(Point point1)
//{
// return base.GetDistanceFromPointToStart(point1);
//}
//public override void ShiftX(double dx)
//{
// base.ShiftX(dx);
//}
//public override void ShiftY(double dy)
//{
// base.ShiftY(dy);
//}
public virtual void ShiftZ(double dz)
{
_z += dz;
}
}