Содержание
- 2. Класс – это обобщенное понятие, определяющие характеристики и поведение некоторого множества объектов, называемых экземплярами класса. «Классический»
- 3. Описание класса [ атрибуты ] [ спецификаторы ] class имя_класса [ : предки ] {тело_класса} Простейший
- 4. Спецификаторы определяют свойства класса, доступность класса для других элементов программы
- 5. Объекты создаются явным или неявным образом, то есть либо программистом, либо системой. Программист создает экземпляр класса
- 6. В общем случае класс может содержать следующие функциональные элементы: Данные: переменные или константы. Методы, реализующие не
- 7. Присваивание и сравнение объектов При присваивании значения копируется значение, При присваивании ссылки — ссылка, После присваивания
- 8. Данные: поля и константы При описании данных также можно указывать атрибуты и спецификаторы, задающие различные характеристики
- 9. Спецификаторы для данных
- 10. Поля, описанные со спецификатором static, константы существуют в единственном экземпляре для всех объектов класса, поэтому к
- 11. // создание класса Demo и два способа обращения к его полям class Circle { public int
- 12. Методы Методы находятся в памяти в единственном экземпляре и используются всеми объектами одного класса совместно, поэтому
- 13. class Circle { public int x=0; public int y=0; public int radius=3; public const double pi
- 14. Конструкторы предназначен для инициализации объекта. Конструкторы делятся на: конструкторы класса (для статических классов) конструкторы экземпляра класса
- 15. Конструкторы экземпляра вызывается автоматически при создании объекта класса с помощью операции new. Имя конструктора совпадает с
- 16. // Если при создании объектов требуется присваивать полю разные значения, это следует делать с помощью явного
- 17. Удобно задать в классе несколько конструкторов, чтобы обеспечить возможность инициализации объектов разными способами (конструкторы должны иметь
- 18. Если один из конструкторов выполняет какие-либо действия, а другой должен делать то же самое плюс еще
- 19. Конструкторы класса Статические классы содержат только статические члены, в том числе и конструктор (храниться в памяти
- 20. class Demo { static int a; static int b; private Demo() { } //закрытый конструктор static
- 21. /*В версию 2.0 введена возможность описывать статический класс (класс с модификатором static). Экземпляры такого класса создавать
- 22. Свойства Иногда требуется создать поле, которое с одной стороны, должно быть доступно для использования, с другой
- 23. class Circle { //закрытые поля int x; int y; int radius; public static string name =
- 24. Деструкторы Специальный вид метода, вызывается сборщиком мусора непосредственно перед удалением объекта из памяти. В деструкторе описываются
- 25. class DemoArray { int[] MyArray; //закрытый массив string name; //закрытое поле public DemoArray(int size,int x, string
- 26. Индексаторы Разновидность свойства Применяется для организации доступа к скрытым полям класса по индексу (к элементу массива)
- 27. //индексатор, который позволяет получить n-член последовательности Фиббоначи: class DemoFib{ public int this[int i] //индексатор, доступный только
- 28. /*класс-массив, значения элементов которого находятся в диапазоне [0, 100], при доступе к элементу проверяется, не вышел
- 29. //использование многомерных индексаторов, для работы с многомерными массивами class DemoArray{ int[,] MyArray; //закрытый массив int n,
- 30. Операции класса newObject x, y, z; … z = x+y; // используется операция сложения, переопределенная для
- 31. Унарные операции В классе можно переопределять следующие унарные операции: + - ! ~ ++ --, константы
- 32. Создать класс, реализующий одномерный массив, в котором содержатся следующие функциональные элементы: конструктор, позволяющий создать объект-массив заданной
- 33. class DemoArray { int[] MyArray; //закрытый массив public DemoArray(int size) //конструктор 1 { MyArray = new
- 34. public static bool operator false(DemoArray a) //перегрузка константы false { foreach (int i in a.MyArray) {
- 36. Бинарные операции При разработке класса можно перегрузить следующие бинарные операции: + - * / % &
- 37. class DemoArray { … public static DemoArray operator +(DemoArray x, int a) //добавляет к каждому элементу
- 38. Операции преобразования типов explicit operator целевой_тип (параметр) //явное преобразование implicit operator целевой_тип (параметр) //неявное преобразование преобразование
- 40. Скачать презентацию