- •3.Понятие инкапсуляция
- •4.Понятие полиморфизм.
- •5.Платформа .NetFramework
- •6.Преимущества .NetFramework
- •8. Компоненты .Net Framework
- •9.Обзор с#
- •10.Структура программы на c#
- •11.Система типов языка с#
- •12.Использование встроенных типов данных
- •15. Операторы выбора
- •17. Обработка исключений
- •19. Перегрузка методов.
- •18. Использование методов. Использование свойств.
- •21. Особенности конструктора
- •22.Использование инкапсуляции.
- •23. Инициализация данных.
- •24.Насле́дование
- •25. Синтаксис обьявления Метода
- •26. Спецификаторы метода.
- •31.Интерфейс.
- •32. Стандартные интерфейсы .Net.
- •33. Пространство имен.System.Collections
- •34. Принципы ооп в с#. Наследование
- •35. Принципы ооп в с#. Полиморфизм
- •36. Принцыпы ооп в c#. Инкапусаляция.
- •37. Делегаты.
- •38. Пример использования делегатов. Функции высших порядков.
- •39. Случаи использования делегатов.
- •42. Интерфейс iDisposable.
- •43. Класс System.Gc
- •44. Унифицированный язык моделирования. Предметы вUml.
- •45.Унифицированный язык моделирования. Отношения в uml.
- •46. Диаграммы в uml
- •47. Унифицированный язык моделирования. Статические модели.
- •49.Моделирование поведения программной системы
- •50. Диаграммы схем состояний
- •52.Диаграммы Use Case
- •53. Технологии проектирования программного обеспечения
- •54.Парадигмы ткпо. Классический жизненный цикл.
- •55. Парадигмы ткпо. Макетирование.
- •56 Стратегии конструирования по. Однократный подход.
- •58. Спиральная модель разработки по.
- •59. Компонентно-ориентированная модель разработки по.
- •60. Унифицированный процесс разработки по.
- •Принципы
- •61. Создание многопоточных приложений. Класс Thread.
- •62. Понятие графического интерфейса пользователя.
- •63. Gui. Модель обработки событий.
- •64. Gui. Многодокументный интерфес.
- •65. Gui. Понятие диалогового окна.
- •67. Класс Form и его жизненный цикл.
- •72. Тестирование по. Основные понятия
- •73. Тестирование по. Тестирование «белого ящика»
- •74. Тестирование по. Тестирование «черного ящика»
- •75.Заповеди отладки.
19. Перегрузка методов.
Перегрузка Часто бывает что выполняется одно и тоже действие (метод) но с разными типами аргументов или их количества. В некторых языках программирования что бы решить данную проблему приходилось описать все методы с новыми именами, в Си Шарп для этого есть перегрузка. Рассмотри следующий пример: нам необходимо написать метод вычисляющий сумму чисел переданных в параметре, но мы можем передать как два параметра так и три и они могут быть либо все int либо все double Создаем 4 варианта метода Add со всему возможными параметрами. При выполнении компилятор сам подберет наиболее подходящий метод
18. Использование методов. Использование свойств.
Метод —это функциональный элемент класса, который реализует вычисления или другие действия, выполняемые классом и л и экземпляром. Методы определяют поведение класса. Метод представляет собой законченный фрагмент кода, к котором можно обратиться но имени. Он описывается один раз, а вызываться может с т о л ь к о раз, сколько необходимо. Один и тот же метод может обрабатывать различные данные, переданные ему в качестве аргументов. Синтаксис метода: [ а т р и б у т ы ] [ спецификаторы ] тип имя_метода ( [ параметры ] ) { тело метода }
Тип определяет, значение какого типа вычисляется с помощью метода. Параметры используются для обмена информацией с методом. Имя метода вкупе с количеством, типами и спецификаторами его параметров представляет собой сигнатуру метода — то, по чему один метод отличают от других. В классе не должно быть методов с одинаковыми сигнатурами. При вызове метода выполняются следующие действия:
1. Вычисляются выражения, стоящие на месте аргументов.
2. Выделяется память под параметры метода в соответствии с их типом.
3. Каждому из параметров сопоставляется соответствующий аргумент (аргументы
как бы накладываются на параметры и замещают их).
4. Выполняется тело метода.
5. Если метод возвращает значение, оно передается в точку вызова; если метод имеет тип v o i d , управление передается на оператор, следующий после вызова.
Существуют два способа передачи параметров: по значению и но ссылке. В С# для обмена данными между вызывающей и вызываемой функциями предусмотрено четыре тина параметров:
• параметры-значения;
• параметры-ссылки — описываются с помощью ключевого слова ref;
• выходные параметры — описываются с помощью ключевого слова out:
• параметры-массивы — описываются с помощью ключевого слова params.
Свойства служат для организации доступа к полям класса. Как правило, свойство связано с закрытым полем класса и определяет методы его получения и установки. Синтаксис свойства: [ атрибуты ] [ спецификаторы ] тип имя свойства { [ get коддоступа ] [ set код_доступа ] }
Метод get должен содержать оператор return, возвращающий выражение, для типа которого должно существовать неявное преобразование к типу свойства. В методе set используется параметр со стандартным именем value, который содержит устанавливаемое значение.
20. Использованеи конструкторов. Одно из величайших преимуществ языков ООП, таких как С#, состоит в том, что вы можете определять специальные методы, вызываемые всякий раз при создании экземпляра класса. Эти методы называются конструкторами (constructors). C# вводит в употребление новый тип конструкторов— статические (static constructors), с которыми вы познакомитесь ниже в подразделе «Константы и неизменные поля». Гарантия инициализации объекта должным образом, прежде чем он будет использован,— ключевая выгода от конструктора. Когда пользователь создает экземпляр объекта, вызывается его конструктор, который должен вернуть управление до того, как пользователь сможет выполнить над объектом другое действие. Именно это помогает обеспечивать целостность объекта и делать написание приложений на объектно-ориентированных языках гораздо надежнее. Но как назвать конструктор, чтобы компилятор знал, что его надо вызывать при создании экземпляра объекта? Разработчики С# последовали в этом вопросе за разработчиками C++ и провозгласили, что у конструкторов в С# должно быть то же имя, что и у самого класса.