Обект променлива [страница - 87] ✿ прочетени онлайн безплатно и без регистрация" /> Обект променлива [страница - 87] ✿ прочетени онлайн безплатно и без регистрация" />

ПредишенСледващото

обектни променливи

Да разгледаме следния фрагмент:

Той декларира и създава две променливи: нещо и aRandomlnstance. Първата променлива съдържа препратка към вида на обекта, а вторият - позоваване на съд от клас Произволни. Следващата команда е доста приемлива, дори и в трудно режим, тип проверка (Опция Стриктно On), тъй като в VB.NET всички променливи в крайна сметка представляват обекти:

От друга страна, обратно прехвърляне (aRandomlnstance = нещо) е недопустимо, тъй като всеки обект е пример на клас Произволни.

забележка
Както ще бъде показано в следващата глава, на общ прародител на всички видове е VB.NET тип Object. Ето защо в VB.NET всяка стойност може да се съхранява в променлива от тип Object, както и всяко създаване на нов обект подкрепя методите на класа Object. Например, тъй като класа на обекта дефинира метод ToString. всеки клас ви позволява да получите на низ на обекта (полезността на които зависи от изпълнението). Методът ToString се нарича автоматично, ако конструкции като Console.WriteLine (Foo).

Ако обект променлива манипулатора съдържа блок памет, в резултат на прехвърляне операция втората променлива обект се определя на манипулатора на същия блок памет. Но, ако сте забравили за това, че да се работи с две различни променливи се използва един памет блок, това може да доведе до трагични последици - промени в състоянието на обекта, направена от една променлива, автоматично се отрази на друга променлива. Да вземем например следния фрагмент:

Един динамичен масив ще включва също ред Фу. Ето защо, показаната стойност ще бъде равна на 1 A.Count.

забележка
Ако сте запознати с езиците, на които индексите са широко използвани (например, C или Pascal), ще видите, че променливите на обектите имат много общо с указатели. Основната разлика е, че вместо сочените (dereferencing) обект на променливите величини, се извършва автоматично и не може да изпълнява математически операции.

Тъй като VB.NET низове и масиви са обекти, следва да се напомни, че за да работи с променливи, използвани от обекта. Както беше показано в глава 3, тя позволява използването на вградени възможности на класовете, използващи "." Синтаксис. Например, когато се използва набор от променливи anAggau anArray.Sort () команда видове на масива е изключително ефективен метод Quicksort.

забележка
За съжаление, всички хубави неща трябва да плащат. Трансфер обект променливи по стойност, свързана с някои трудности, които сега се прилага към стандартните обекти като масиви. Този въпрос се разглежда. "Проблеми с прехвърлянето на променливите на обектите по стойност" в тази глава.

Както и в предишните версии на VB, обект променливи могат да бъдат използвани, за да се получи по-компактен запис. Например, след фрагмент се определя Avoch кратко наименование да се използва вместо дълго MuForm.TextBoxl:

Такива ограничения често се използват във връзка с ключова дума с:

НАШИТЕ ПРОЕКТИ

Свързани статии

Подкрепете проекта - споделете линка, благодаря!