«Создайте программу с именем« DemoSquare », которая инициирует массив из 10 квадратных объектов со сторонами, которые имеют значения 1 -10 и отображают значения для каждого квадрата. Класс Square содержит поля для область и длину стороны, а также конструктор, для которого требуется параметр для области и длины стороны. Конструктор назначает свой параметр длине стороны Square и вызывает частный метод, который вычисляет поле области. свойства только для чтения, чтобы получить квадратную сторону и область ».Проблемы с readonly и private методами
Теперь я думаю, что это вопрос с подвохом, как я не могу получить частный метод для вычисления площади из-за присвоения только для чтения, но вот мой код:
class demoSquares
{
static void Main(string[] args)
{
Square[] squares = new Square[10];//Declares the array of the object type squares
for (int i = 0; i < 10; i++)
{
//Console.WriteLine("Enter the length");
//double temp = Convert.ToDouble(Console.ReadLine());
squares[i] = new Square(i+1);//Initializes the objects in the array
}
for (int i = 0; i < 10; i++)
{
Console.WriteLine(squares[i]);
}//end for loop, prints the squares
}//end main
}//end class
Это площади Класс:
public class Square
{
readonly double length;
readonly double area;
public Square(double lengths)//Constructor
{
length = lengths;
area = computeArea();
}
private double computeArea()//getmethod
{
double areaCalc = length * length;
return areaCalc;
}
}
Да, я получил его, выполнив метод доступа, а не объявляя параметр area как readonly, но упражнение кажется очень специфичным. В главе рассказывалось об аксессуарах и классах, но я не понимаю, почему наш лектор будет использовать то, что не работает? –