Программа «зависнет»
Перегружаемые методы класса
Download 32.74 Kb.
|
osnova javoblar
- Bu sahifa navigatsiya:
- 4. Типы значений и ссылочные типы
- Типы значений
3. Перегружаемые методы класса.
В С# два или больше методов внутри одного класса могут иметь одинаковое имя, но при условии, что их параметры будут различными. Такую ситуацию называют перегрузкой методов (method overloading), а методы, которые в ней задействованы, — перегруженными (overloaded). Перегрузка методов — один из способов реализации полиморфизма в С#. В общем случае для создания перегрузки некоторого метода достаточно объявить еще одну его версию. Об остальном позаботится компилятор. Но здесь необходимо отметить одно важное условие: все перегруженные методы должны иметь списки параметров, которые отличаются по типу и/или количеству. Методам для перегрузки недостаточно отличаться лишь типами возвращаемых значений. Они должны отличаться типами или числом параметров. При вызове перегруженного метода выполняется та его версия, параметры которой совпадают (по типу и количеству) с заданными аргументами. Как видите, метод ovlDemo () перегружается четыре раза. Первая версия вообще не принимает параметров, вторая принимает один целочисленный параметр, третья —два целочисленных параметра, а четвертая — два double-параметра. Обратите внимание на то, что первые две версии метода ovlDemo () возвращают тип void, т.е. не возвращают никакого значения, а вторые две возвращают значения соответствующих типов. Принципиальная значимость перегрузки состоит в том, что она позволяет обращаться к связанным методам посредством одного, общего для всех имени. Следовательно, имя ovlDemo () представляет общее действие, которое выполняется во всех случаях. Компилятору остается правильно выбрать конкретную версию при конкретных обстоятельствах. 4. Типы значений и ссылочные типы В компьютерном программировании , типы данных можно разделить на две категории: типы значений и ссылочные типы. Типы данных можно разделить на типы значений, еще называемые значимыми типами, (value types) и ссылочные типы (reference types). Важно понимать между ними различия. Типы значений: Целочисленные типы (byte, sbyte, short, ushort, int, uint, long, ulong) Типы с плавающей запятой (float, double) Тип decimal Тип bool Тип char Перечисления enum Структуры (struct) Ссылочные типы: Тип object Тип string Классы (class) Интерфейсы (interface) Делегаты (delegate) Download 32.74 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling