Классы: основные понятия Основные элементы класса: поля, методы, конструкторы, свойства. Виды параметров методов. (Лекция 7) презентация
Содержание
- 2. Лекция 7. Классы: основные понятия Основные элементы класса: поля, методы, конструкторы, свойства. Виды параметров методов.
- 3. Понятие объекта В реальном мире каждый предмет или процесс обладает свойствами и поведением (набором статических и
- 4. Пример ОО-программы class Двигатель { public void Запуск() { Console.WriteLine( "пыщь пыщь" ); } } class
- 5. Абстрагирование и инкапсуляция При представлении реального объекта с помощью программного необходимо выделить в первом его существенные
- 6. Листинг: Иллюстрация инкапсуляции class Двигатель { public void Запуск() { Console.WriteLine( " пыщь пыщь " );
- 7. Наследование Наследование (inheritance) - это процесс, посредством которого один объект может приобретать свойства другого. Важное значение
- 8. Пример иерархии: классы .NET для работы с потоками
- 9. Пример полиморфизма
- 10. Достоинства ООП использование при программировании понятий, близких к предметной области; возможность успешно управлять большими объемами исходного
- 11. Недостатки ООП идеи ООП не просты для понимания и в особенности для практического использования для эффективного
- 12. Технология разработки ОО программ В предметной области выделяются понятия, которые можно использовать как классы. Кроме классов
- 13. Понятие класса (повторение) Класс является типом данных, определяемым пользователем. Он должен представлять собой одну логическую сущность,
- 14. Описание класса [ атрибуты ] [ спецификаторы ] class имя_класса [ : предки ] тело_класса Имя
- 15. Спецификаторы класса
- 16. Элементы класса
- 17. Описание объекта (экземпляра) Класс является обобщенным понятием, определяющим характеристики и поведение множества конкретных объектов этого класса,
- 18. Присваивание и сравнение объектов (повторение)
- 19. Данные: поля и константы Данные, содержащиеся в классе, могут быть переменными или константами. Переменные, описанные в
- 20. Спецификаторы полей и констант класса
- 21. Пример класса using System; namespace CA1 { class Demo { public int a = 1; //
- 22. Методы
- 23. Метод — функциональный элемент класса, реализующий вычисления или другие действия. Методы определяют поведение класса и составляют
- 24. Синтаксис метода [ атрибуты ] [ спецификаторы ] тип имя_метода ( [ параметры ] ) тело_метода
- 25. Примеры методов public void Set_y(double z) { y = z; } public double Get_y() { return
- 26. Параметры методов Параметры определяют множество значений аргументов, которые можно передавать в метод. Список аргументов при вызове
- 27. Вызов метода Вычисляются выражения, стоящие на месте аргументов. Выделяется память под параметры метода. Каждому из параметров
- 28. Примеры передачи аргументов в метод class Class1 { static int Max(int a, int b) // метод
- 29. Способы передачи аргументов в метод Аргументы передаются: По значению По адресу (ссылке) При передаче по значению
- 30. Типы параметров В С# четыре типа параметров: параметры-значения - для исходных данных метода; параметры-ссылки (ref) -
- 31. область параметров Передача аргумента по значению код метода аргумент копия аргумента При вызове метода на месте
- 32. Пример: счетчик class Counter { public void Inc(int delta) { n += delta; } public override
- 33. Передача аргумента по ссылке (ref, out) код метода область параметров аргумент адрес аргумента При вызове метода
- 34. Пример: параметры-значения и ссылки ref using System; namespace ConsoleApplication1 { class Class1 { static void P(
- 35. Пример: выходные параметры out using System; namespace ConsoleApplication1 { class Class1 { static void P( int
- 36. Summary: Правила применения параметров Для параметров-значений используется передача по значению. Этот способ применяется для исходных данных
- 37. Методы с переменным количеством аргументов class Class1 { public static double Average( params int[] a )
- 38. Рекурсивные методы Рекурсивным называется метод, который вызывает сам себя (прямая рекурсия). Косвенная рекурсия - когда два
- 39. Характеристики рекурсии Достоинство рекурсии: компактность записи. Недостатки: опасность переполнения стека; расход времени и памяти на повторные
- 40. Ключевое слово this Чтобы обеспечить работу метода с полями того объекта, для которого он был вызван,
- 41. Конструкторы Конструктор – особый вид метода, предназначенный для инициализации объекта (конструктор экземпляра) или класса (статический конструктор).
- 42. Конструкторы экземпляра Конструктор вызывается автоматически при создании объекта класса с помощью операции new. Имя конструктора совпадает
- 43. Пример класса с конструктором class Demo { public Demo( int a, double y ) // конструктор
- 44. Пример класса с двумя конструкторами class Demo { public Demo( int a ) // конструктор 1
- 45. Статические конструкторы Статический конструктор (конструктор класса) инициализирует статические поля класса. Он не имеет параметров, его нельзя
- 46. Свойства Свойства служат для организации доступа к полям класса. Как правило, свойство определяет методы доступа к
- 47. Пример: счетчик (свойства) class Counter { public Counter( int n = 0 ) { this.n =
- 48. Перегрузка методов Перегрузкой методов называется использование нескольких методов с одним и тем же именем, но различными
- 49. Пример: счетчик (перегрузка) class Counter { public Counter() { } public Counter( int n ) {
- 50. Операции класса (перегрузка операций) В С# можно переопределить для своих классов действие большинства операций. Это позволяет
- 51. Общие правила описания операций класса операция должна быть описана как открытый статический метод класса (спецификаторы public
- 52. Пример: счетчик (операция ++) class Counter { public Counter( int n = 0 ) { this.n
- 53. Правила оформления унарной операции класса Параметр функции-операции должен иметь тип этого класса. Операция должна возвращать: для
- 54. Бинарные операции Можно определять: + - * / % & | ^ > == != >
- 55. Пример бинарных операций класса class Monster { public static Monster operator +( Monster m, int k
- 56. Пример: счетчик (операция +) class Counter { ... public static Counter operator +(Counter param, int delta)
- 57. Операции преобразования типа Обеспечивают возможность явного и неявного преобразования между пользовательскими типами данных. implicit operator тип
- 58. Пример: счетчик (приведение типа) class Counter { ... public static implicit operator int(Counter param) { return
- 59. Применение операций преобразования Неявное преобразование выполняется автоматически: при присваивании объекта переменной целевого типа; при использовании объекта
- 60. Диструкторы Синтаксис деструктора: [ атрибуты ] [ extern ] ~имя_класса() тело
- 61. Вложенные типы using System; namespace ConsoleApplication1 { class Monster { class Gun { ... } ...
- 63. Скачать презентацию