в чем отличие вот как ориентироваться ??
вот есть же
тип точка метод с аргументом из переменной
а есть
переменная типа точка метод
и как вообще узнать что там еще дальше
такую цепочку как то составляешь ставишь точку а там еще куча всякого выскакивает что можно прицепить )
Другие языки программирования и технологии
C# методы типов разновидность ??
Доступ к static методам и переменным осуществляется через имя класса:
Math.Sin(0);
Обычные не static методы через объект:
Human hum = new Human();
hum.Kill();
Создаём объект Human - человека:
Human hum = new Human(23,"Петя");
Где передали параметры 23 (возраст) и "Петя" (имя) в конструктор. Эти параметры сохранены в объекте hum в его полях. Теперь вызываем для данного объекта функцию, которая имеет доступ к полям объекта.
int age = hum.getAge(); функция getAge, вызванная у объекта hum типа Human, вернула его возраст. Вызываем другой метод: hum.Kill();
Теперь создаем наследника классу Human, назовём его Child. Child является Human, но может переопределить методы класса Human и добавить новые, таким образом расширить класс и изменить.
Human hum2 = new Child(5,"Вася",hum); тут у конструктора есть дополнительный параметр, где задаётся родитель ребёнка.
Теперь вызываем hum2.kill(); этот метод мог быть переопределен.
Интерфейсы: Есть интерфейсы comparable, cloneable, runnable и др. Интерфейс принуждает класс иметь в наличии опр. функционал (методы и т. д). comparable - объекты класса можно сравнивать (метод compare - больше, меньше или равен). Заранее написанный алгоритм сортировки может требовать от объектов класса быть сравнимыми между собой (comparable). Cloneable - объект можно скопировать методом clone. И т. д. и т. п. То есть наделяем функционалом, который должен быть реализован в классе.
Math.Sin(0);
Обычные не static методы через объект:
Human hum = new Human();
hum.Kill();
Создаём объект Human - человека:
Human hum = new Human(23,"Петя");
Где передали параметры 23 (возраст) и "Петя" (имя) в конструктор. Эти параметры сохранены в объекте hum в его полях. Теперь вызываем для данного объекта функцию, которая имеет доступ к полям объекта.
int age = hum.getAge(); функция getAge, вызванная у объекта hum типа Human, вернула его возраст. Вызываем другой метод: hum.Kill();
Теперь создаем наследника классу Human, назовём его Child. Child является Human, но может переопределить методы класса Human и добавить новые, таким образом расширить класс и изменить.
Human hum2 = new Child(5,"Вася",hum); тут у конструктора есть дополнительный параметр, где задаётся родитель ребёнка.
Теперь вызываем hum2.kill(); этот метод мог быть переопределен.
Интерфейсы: Есть интерфейсы comparable, cloneable, runnable и др. Интерфейс принуждает класс иметь в наличии опр. функционал (методы и т. д). comparable - объекты класса можно сравнивать (метод compare - больше, меньше или равен). Заранее написанный алгоритм сортировки может требовать от объектов класса быть сравнимыми между собой (comparable). Cloneable - объект можно скопировать методом clone. И т. д. и т. п. То есть наделяем функционалом, который должен быть реализован в классе.
Это вы походу про методы расширения, которые используются в LINQ запросах.
Похожие вопросы
- C# методы
- C++ расчет площади методом монте-карло
- c#. Сортировка массива в отдельном методе. Консольное приложение.
- (C++) Нужна помощь в создании метода "пузырька".
- Учу C++! Уже знаю: типы данных, циклы. условия, привидения и т. д учу 5дней. вот программа! Как норм за 5 дней?
- C#. Как сделать, чтобы программа проверяла тип введённой переменной?
- Зачем в С/C++ создан отдельный тип "указатель"
- C++. Типы данных. Создание типа данных.
- C#. Как прописать несколько одинаковых функций так, чтобы они возвращали результаты разных типов?
- Объясните новичку на простом языке что делает метод Convert.ToInt32 на C#
дошел до объяснения типов и ссылочных и понял что ни х не помню что неделю назад изучал вникал)