using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
var circle = new Circle();
circle.Radius = 10;
Console.WriteLine("Координаты x = {0} , y = {1} " , circle.X , circle.Y);
Console.WriteLine("Площадь круга = {0}" , circle.GetArea);
Console.WriteLine("Длина = {0}" , circle.Length);
}
public class Circle
{
private double x, y , r;
public double Radius
{
get
{
return r;
}
set
{
x = y = 0;
if (value <= 0) { throw new ArgumentException (" Wrong! ") ;}
r = value;
}
}
public double GetArea
{
get
{
return Math.PI * r * r;
}
}
public double Length
{
get
{
return 2 * Math.PI * r;
}
}
public double X
{
get
{
return x;
}
}
public double Y
{
get
{
return y;
}
}
}
}
}
class Round
{
private:
double _x;
double _y;
double _radius;
public:
Round(double x, double y, double radius)
{
_x = x;
_y = y;
_radius = radius;
}
Round(){}
double GetAbscissa()
{
return _x;
}
double GetOrdinate()
{
return _y;
}
double GetRadius()
{
return _radius;
}
double GetSquare()
{
return M_PI * _radius * _radius;
}
};
public class Circle
{
private double x, y , r;
public double Radius //Имя инициализатора должно соответствовать имени поля
//которое он инициализирует, логичнее поле назвать radius
{
get
{
return r;
}
set
{
x = y = 0; //Почему в инициализаторе радиуса, инициализируются
//координаты центра круга? и почему они именно равны нулю?
if (value <= 0) { throw new ArgumentException (" Wrong! ") ;}
r = value;
}
}
//Возможно следовало бы написать конструктор с параметрами
public double GetArea
{
get
{
return Math.PI * r * r; //Доступ к полям проводить через инициализаторы
}
}
public double Length
{
get
{
return 2 * Math.PI * r;
}
}
public double X
{
//set?
get
{
return x;
}
}
public double Y
{
//set?
get
{
return y;
}
}
}
}
}