Меню сайта
Категории раздела
| HTML [44] |
| Visual C++ и MFC [21] |
| c++ [78] |
| php [19] |
| Javascript [15] |
| C# [51] |
| загрузки [0] |
|
XNA [10]
создание игр с помощью xna
|
Наш опрос
Друзья сайта
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реклама
| Главная » Статьи » C# |
Урок 30
Вот пример: using System; namespace test { class SomeClass{ //Первый метод SomeFunc. public static int SomeFunc() { return 0; } //Второй метод SomeFunc. public static int SomeFunc(int k) { return k*k; } //Третий метод SomeFunc. public static float SomeFunc(float k) { return k; } } class Test { static void Main(string[] args) { Console.WriteLine(SomeClass.SomeFunc()); Console.WriteLine(SomeClass.SomeFunc(10)); Console.WriteLine(SomeClass.SomeFunc((float)10)); } } } Результатом выполнения прораммы будет 0 100 10. Тут в классе SomeClass мы имеет три метода с одним названием - SomeFunc. Для простоты мы сделали все методы статическими, но это не важно. Наши методы различаются количеством параметров и типом. В тестовом классе Test мы вызываем эти методы. Обратите внимание на подсказку редактора - при написании метода SomeFunc возникает желтенькое окошко в котором написано "1 of 3" (т. е. первый метод из трех): Если нажимать стрелочки вверх-вниз на клавиатуре, то появятся подсказки и по другим двум методам. Обратите внимание на два момента. Во-первых, методы не могут различаться только типом возвращаемого значения - они должны различаться именно по параметрам. Например, такой метод добавить в класс SomeClass нельзя: public static bool SomeFunc() { return true; } Во-вторых, в вызове третьего метода мы использовали приведение типов: ... Console.WriteLine(SomeClass.SomeFunc((float)10)); ... Если бы мы вызвали метод без слова float, то вызвался бы перегруженный вариант для целых чисел. | |
| Просмотров: 550 | Рейтинг: 0.0/0 |
| Всего комментариев: 0 | |