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

Как следует из результата выполнения приведенной выше программы, объект оЬ2 является копией объекта оЫ, но это совершенно разные объекты. Изменения в одном из них не оказывают никакого влияния на другой. Это достигается конструированием нового объекта типа Test, который выделяет новый объект типа X для копирования. При этом новому экземпляру объекта типа X присваивается такое же значение, как и у объекта типа X в оригинале.

Дляполучения неполной копии достаточно вызвать методMemberwiseClone ,определяемый в классеObjectиз методаClone . В качестве упражнения попробуйте заменить методClone в предыдущем примере программы на следующий его вариант.

// Сделать неполную копию вызывающего объекта, public object Clone    {

Test temp = (Test) MemberwiseClone; return temp;

}

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

Значения объекта obi: о.а: 10, Ь: 20 Сделать объект оЬ2 копией объекта оЫ.

Значения объекта оЬ2: о.а: 10, Ь: 20

Изменить значение obi.о.а на 99, а значение obl.b — на 88.

Значения объекта obi: о.а: 99, Ь: 88 Значения объекта оЬ2: о.а: 99, Ь: 20

Как видите, обе переменные экземпляраов объектахоЫиоЬ2ссылаются на один и тот же объект типа X. Поэтому изменения в одном объекте оказывают влияние на другой. Но в то же время поляbтипаintв каждом из них разделены, поскольку типы значений недоступны по ссылке.

Интерфейсы I Forma tProvider и I Format table

В интерфейсеI Forma tProviderопределен единственный методGet Format , который возвращает объект, определяющий форматирование данных в удобочитаемой форме текстовой строки. Ниже приведена общая форма методаGet Format:

object GetFormat(TypeformatType)

гдеformatType— это объект, получаемый для форматирования.

ИнтерфейсI Format tableподдерживает форматирование выводимых результатов в удобочитаемой форме. В нем определен следующий метод:

string ToString(stringformat,IFormatProviderformatProvider)

гдеformatобозначает инструкции для форматирования, aformatProvider —поставщик формата.

ПРИМЕЧАНИЕ

Подробнее о форматировании речь пойдет в главе 22.

Интерфейсы IObservable и IObserver

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

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

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT