Нужно разобраться с фрагментом кода - C#

Узнай цену своей работы

Формулировка задачи:

using System;
// Дополнительный класс и его методы для контроля передачи объектов методам
class OTM {
  int x; double y; decimal z;
 
  public OTM (int i, double j, decimal k){  // Конструктор
    x = i;
    y = j;
    z = k;
  }
  public bool Confirm( OTM ob) { //ob - объект, выполняется проверка ob.x==x и др.
    if((ob.x == x)&(ob.y == y)&(ob.z == z)) return true;
      else return false;
  }
  public void CopyOTM(OTM ob) {   // Создается копия объекта
    x = ob.x;
    y = ob.y;
    z = ob.z;
  }
  public void show() {
    Console.WriteLine("x: {0}, y: {1}, z: {2:C}", x, y, z);
  }
}
// Transmitob - класс метода Main() - выделение памяти и передачи объектов
class TransmitOb {
  public static void Main() {
      OTM ob1 = new OTM(10, 20.2222, 33.33m);
      OTM ob2 = new OTM(40, 50.5555, 6677889.6677889m);
 
      Console.Write("\n ob1: "); ob1.show();
      Console.Write(" ob2: "); ob2.show();
 
      if(ob1.Confirm(ob2))Console.WriteLine(" ob1 = ob2  ");
      else Console.WriteLine(" ob1 != ob2 \n ");
 
      Console.WriteLine(" ob2 копируется в ob1");
      ob1.CopyOTM(ob2);  
      Console.Write(" ob1 после копирования: "); ob1.show();
      if(ob1.Confirm(ob2))Console.WriteLine("\n ob1 = ob2");
        else Console.WriteLine("\n ob1 != ob2");
      Console.WriteLine("\n\n\n ");
  }
}
Вот есть код ,не могу понять как работают эти методы :
public bool Confirm( OTM ob) { //ob - объект, выполняется проверка ob.x==x и др.
    if((ob.x == x)&(ob.y == y)&(ob.z == z)) return true;
      else return false;
  }
  public void CopyOTM(OTM ob) {   // Создается копия объекта
    x = ob.x;
    y = ob.y;
    z = ob.z;
  }
В 1-ом -что именно мы сравниваем ? Что это -
(ob.x == x)
И так же со 2-ым методом -что и куда мы копируем ? Помогите , пожалуйста , разобраться новичку . Никак не пойму , как работает передача объектов методу.

Решение задачи: «Нужно разобраться с фрагментом кода»

textual
Листинг программы
OTM ob1 = new OTM(10, 20.2222, 33.33m); // создадим объект
      
OTM ob2 = new OTM(40, 50.5555, 6677889.6677889m); // создадим второй
 
ob1.CopyOTM(ob2); // теперь поля ob1, равны полям ob2
 
if(ob1.Confirm(ob2) ) 
        Console.WriteLine("Они действительно равны");
////////////////////////////////////////////////////////
 
public void CopyOTM(OTM ob) {   // ob будет равен ob2
    x = ob.x; // поле x объекта ob1 (ob1.CopyOTM(ob2))  станет равно полю x объекта ob2, который передан в параметре. 
    y = ob.y;// остальные также
    z = ob.z;
  }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы