Объектно-ориентированное программирование на С#. Андрианова А.А - 57 стр.

UptoLike

57
Matrix a(2,2);
a.InputMatrix();
double det = (double)a;
Преобразование к логическому типу данных можно осуществить также
с помощью перегрузки значений true и false, которые перегружаются
обязательно вместе. Например, в классе Matrix эти операции могут
определять, является ли квадратная матрица вырожденной (определитель
матрицы равен нулю).
// операции проверки вырожденности матрицы
public static bool operator true(Matrix m)
{
if ((double)m == 0.0)
return false;
return true;
}
public static bool operator false(Matrix m)
{
if ((double)m == 0.0)
return true;
return false;
}
Имея данные операции, можно объекты класса Matrix применять в
условных выражениях, т.е. в выражениях, которые принимают значения
true или false:
Matrix a(2,2);
a.InputMatrix();
// использование объекта-матрицы в логическом выражении
if (z)
Console.WriteLine("Матрица невырожденная");
else
Console.WriteLine("Матрица вырожденная");
4.4. Свойства и индексаторы
Свойства и индексаторы это методы специального вида,
осуществляющие контролируемый доступ к данным. Контролируемый
доступ предполагает проверку возможности доступа к значениям или
возможности его изменения. Например, если свойство предназначено для
управления полем класса, в котором хранится возраст человека, при
   Matrix a(2,2);
   a.InputMatrix();
   double det = (double)a;

     Преобразование к логическому типу данных можно осуществить также
с помощью перегрузки значений true и false, которые перегружаются
обязательно вместе. Например, в классе Matrix эти операции могут
определять, является ли квадратная матрица вырожденной (определитель
матрицы равен нулю).

    // операции проверки вырожденности матрицы
    public static bool operator true(Matrix m)
    {
       if ((double)m == 0.0)
          return false;
       return true;
    }

    public static bool operator false(Matrix m)
    {
       if ((double)m == 0.0)
          return true;
       return false;
    }

     Имея данные операции, можно объекты класса Matrix применять в
условных выражениях, т.е. в выражениях, которые принимают значения
true или false:

    Matrix a(2,2);
    a.InputMatrix();
    // использование объекта-матрицы в логическом выражении
    if (z)
       Console.WriteLine("Матрица невырожденная");
    else
       Console.WriteLine("Матрица вырожденная");


                              4.4. Свойства и индексаторы

     Свойства и индексаторы – это методы специального вида,
осуществляющие контролируемый доступ к данным. Контролируемый
доступ предполагает проверку возможности доступа к значениям или
возможности его изменения. Например, если свойство предназначено для
управления полем класса, в котором хранится возраст человека, при

                                                                   57