Модификатор доступа private - C#

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

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

Добрый день, Я считал, что поле класса объявленное с модификатором private доступно только в экземпляре данного класса, но вот увидел сегодня, что можно обращаться напрямую к данному полю другого экземпляра, если он используется в коде данного класса. Например:
class Deck
{
       private Cards cards;
 
       public object Clone()
       {
            Deck newDeck = new Deck();
            newDeck.cards = (Cards)this.cards.Clone();
            return newDeck;
        }
 
}
Здесь newDeck.cards ссылается на приватное поле и этот код прекрасно работает. Как так? Может я что-то не понимаю, но вроде такого быть не должно?

Решение задачи: «Модификатор доступа private»

textual
Листинг программы
public class Deck : ICloneable 
{ 
   public object Clone() 
{ 
  Deck newDeck = new Deck (cards.Clone () as Cards); 
  return newDeck; 
} 
 
private Deck (Cards newCards) 
{ 
   cards = newCards; 
}

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


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

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

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