.NET 4.x Как сравнивать и копировать значения полей объектов класса "MyClass" с доступом "private" - C#

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

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

Добрый день! Изучаю .NET по книге Г.Шилдта "Полное руководство С#". В программировании новичок поэтому прошу ногами сильно не пинать, собственно вопрос в следющем: Есть вот такая програмка из вышеуказанной книги:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
class MyClass
{
    int alpha, beta;
 
    public MyClass(int i, int j)
    {
        alpha = i;
        beta = j;
    }
 
    public bool SameAs(MyClass ob)
    {
        if ((ob.alpha == alpha) & (ob.beta == beta))
            return true;
        else return false;
    }
 
    public void Copy(MyClass ob)
    {
        alpha = ob.alpha;
        beta = ob.beta;
    }
 
    public void Show()
    {
        Console.WriteLine("alpha: {0}, beta: {1}", alpha, beta);
    }
}
 
class PassOb
{
    static void Main()
    {
        MyClass ob1 = new MyClass(1, 2);
        MyClass ob2 = new MyClass(3, 4);
 
        Console.Write("Ob1: ");
        ob1.Show();
        Console.Write("Ob2: ");
        ob2.Show();
 
        if (ob1.SameAs(ob2))
            Console.WriteLine("ob1 равен ob2");
        else
            Console.WriteLine("ob1 неравен ob2");
        Console.WriteLine();
 
        ob1.Copy(ob2);
        Console.Write("ob1 после копирования: ");
        ob1.Show();
 
        if (ob1.SameAs(ob2))
            Console.WriteLine("ob1 равен ob2");
        else
            Console.WriteLine("ob1 неравен ob2");
        Console.WriteLine();
 
        Console.ReadKey();

    }
}
Каким образом мы можем сравнивать и копировать значения полей объектов класса "MyClass", если они имеют модификатор доступа "private", т.е. к ним можно обращаться только в классе. При передаче объекта методу "SameAs" мы напрямую обращаемся к элементу передаваемого объекта "ob.alpha" и "ob.beta"? З.Ы. Я предполагаю что еще до конца не знаю всех особенностей модификаторов доступа, прошу разъяснить данный момент. С уважением, Николай Паламарь.

Решение задачи: «.NET 4.x Как сравнивать и копировать значения полей объектов класса "MyClass" с доступом "private"»

textual
Листинг программы
 public bool SameAs(MyClass ob)
    {
//передаем сюда объект "ob1" или "ob2", но ведь поля у них private, как получаем доступ?
        if ((ob.alpha == alpha) & (ob.beta == beta)) 
            return true;
        else return false;
    }

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


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

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

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