Читаем C# 4.0 полное руководство - 2011 полностью

MyClass ob2 = new MyClass (6, 7);

Console.Write("obi: "); obi.Show ;

Console.Write("ob2: "); ob2.Show;

if(obi.SameAs(ob2))

Console.WriteLine("obi и ob2 имеют одинаковые значения."); else

Console.WriteLine("obi и ob2 имеют разные значения."); Console.WriteLine ;

// А теперь сделать объект obi копией объекта ob2. obi.Copy(ob2);

Console.Write("obi после копирования: "); obi.Show;

if(obi.SameAs(ob2) )

Console.WriteLine("obi и ob2 имеют одинаковые значения."); else

Console.WriteLine("obi и ob2 имеют разные значения.");

}

}

Выполнение этой программы дает следующий результат.

obi: alpha: 4, beta: 5 ob2: alpha: 6, beta: 7

оЫ и ob2 имеют разные значения.

оЫ после копирования: alpha: 6, beta: 7 obi и оЬ2 имеют одинаковые значения.

Каждый из методовSame As иСору в приведенной выше программе получает ссылку на объект типаMyClassв качестве аргумента. МетодSame As сравнивает значения переменных экземпляраalphaиbetaв вызывающем объекте со значениями аналогичных переменных в объекте, передаваемом посредством параметраob.Данный метод возвращает логическое значениеtrueтолько в том случае, если оба объекта имеют одинаковые значения этих переменных экземпляра. А методСору присваивает значения переменныхalphaиbetaиз объекта, передаваемого по ссылке посредством параметраob,переменнымalphaиbetaиз вызывающего объекта. Как показывает данный пример, с точки зрения синтаксиса объекты передаются методам по ссылке таким же образом, как и значения обычных типов.

Способы передачи аргументов методу

Как показывает приведенный выше пример, передача объекта методу по ссылке делается достаточно просто. Но в этом примере показаны не все нюансы данного процесса. В некоторых случаях последствия передачи объекта по ссылке будут отличаться от тех результатов, к которым приводит передача значения обычного типа. Для выяснения причин этих отличий рассмотрим два способа передачи аргументов методу.

Первым способом являетсявызов по значению.В этом случае значение аргумента копируется в формальный параметр метода. Следовательно, изменения, вносимые в параметр метода, не оказывают никакого влияния на аргумент, используемый для вызова. А вторым способом передачи аргумента являетсявызов по ссылке.В данном случае параметру метода передается ссылка на аргумент, а не значение аргумента. В методе этассылкаиспользуется для доступа к конкретному аргументу, указываемому при вызове. Это означает, что изменения, вносимые в параметр, будут оказывать влияние на аргумент, используемый для вызова метода.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных