16. Поясните ключевые концепции объектно-ориентированного языка программирования c#
CLR делит свою память на: стек и кучу. Большую часть времени типы значение создаются в стеке, а ссылочные типы – в управляемой куче. Память для ссылочных типов всегда выделяется из управляемой кучи с помощью оператора С# new, который выполняет следующие действия. Ссылочный тип: 1)память для ссылочных типов всегда выделяется из управляемой кучи;2) каждый объект, размещаемый в куче, имеет некоторые дополнительные члены, подлежащие инициализации;3)незанятые полезной информацией байты объекта обнуляются (касается полей);4)размещение объекта в управляемой куче со временем инициирует сборку мусора. Значимый тип размещаются в стеке потока.В представляющей экземпляр переменной нет указателя на экземпляр; поля экземпляра размещаются в самой переменной. Экземпляры значимых типов не обрабатываются сборщиком мусора, поэтому уменьшается интенсивность работы с управляемой кучей.
Если тип называют классом (class), речь идет о ссылочном типе. Так, классы System.Object, SystemException, System.lO.FileStream и System.Random – это ссылочные типы. В свою очередь значимые типы в документации называют структурами (structure) и перечислениями (enumeration). Все структуры являются прямыми потомками абстрактного типа System.ValueType, который в свою очередь является производным от типа System.Object.
C# является ОО языком программирования. Вся логика содержится в структурах и классах. В класс могут добавляться поля и методы, определяющие данные и поведение класса. В зависимости от цели и предназначенной функциональности класса в нем можно определить любое количество полей и методов. Все методы, которые определены в классе, могут получить доступ к полю. Каждое поле имеет имя, тип данных и модификатор доступа, по умолчанию является private. Метод это процедура или функция, определнная внутри класса. Методы используются для реализации поведения класса. Каждый метод имеет имя, список параметров, тип возвращаемого значения и модификатор доступа.
При создании объекта CLR автоматически вызывает конструктор это специальный метод, автоматически вызываемый CLR при создании объекта. При определении конструктора соблюдаются следующие правила: 1)Конструкторы имеют то же имя, что и класс, в котором они определены; 2) Конструкторы имеют то же имя, что и класс, в котором они определены; 3) Конструкторы обычно инициализируют некоторые или все поля объекта, а также могут выполнять любые дополнительные задачи инициализации, требуемые классу.
Структура очень похожа на класс, она уменьшает накладные расходы из-за способа, которым CLR создает и управляет экземплярами структуры. Типы структур: Byte, Int, Double, Boolean etc. Структуры имеют ограничения: используются для моделирования элементов, которые содержат относительно небольшое количество данных.
Наследование вместе с инкапсуляцией и полиморфизмом, является одной из трех основных характеристик ООП, позволяет создавать новые классы, которые повторно используют, расширяют и изменяют поведение, определенное в других классах. Класс, члены которого наследуются, называется базовым классом, а класс, который наследует эти члены, называется производным классом. Наследование мб от: классов, интерфейсов, абстрактных классов. Абстр. Класс: может хранить данные о полях, класс может наследоваться только от одного абстрактного, поддерживает только наследование классов, может содержать реализацию, класс наследник может переопределить некоторые методы. Интерфейс: не могут содеражать конструкторов, не может хранить данные, поддерживает множественное наследование, может быть реализован структурой, класс реализуемый интерфейс должен реализовать все элементы интерфейса.
Коллекции – группа связвнных объектов. Коллекция обеспечивает безопасность типов, при извлечении элемента из универсальной коллекции нет необходимости определять или преобразовывать его тип данных, коллекция является классом, предоставляют более гибкий способ работы с группами объектов. Виды коллекций: класс Visual Basic Collection, System.Collections, System.Collections.Concurrent, System.Collections.Generics.
- 1. Рассмотрите процесс конструирования программ в императивных языках программирования
- Int cena;
- 5. Объектно-ориентированный анализ и объектно-ориентированное проектирование.
- 6. Объясните основные архитектурные особенности ос Windows xp/Vista
- 7. Классифицируйте операционные системы.
- 8. Объясните архитектурные особенности операционной системы Unix.
- 9. Проанализируйте структурную схему персонального компьютера, архитектурные свойства и принципы микропроцессоров.
- 10. Классифицируйте режимы работы микропроцессора. Объясните организацию оперативной памяти и систему прерываний.
- 11. Охарактеризуйте становление веб-программирования в историческом и технологическом аспекте.
- 12. Проанализируйте основные подходы к верстке веб-страниц.
- 13. Объясните принципы декларативного стиля программирования.
- 14. Проанализируйте задачи искусственного интеллекта.
- 15. Охарактеризуйте архитектуру платформы Microsoft .Net
- 16. Поясните ключевые концепции объектно-ориентированного языка программирования c#
- 17. Проанализируйте процесс создания Windows-приложений средствами Visual с#.
- 18. Проанализ. Процесс автоматизации проектирования по. Методы и ср-ва структурн. Системн. Анализа и проектир.
- 19. Проанализируйте процесс моделирования сложных систем и формальные средства представления моделей.
- 20. Охарактеризуйте назначение, принципы организации и классификацию компьютерных сетей и систем.
- 21. Объясните назначение, структуру и реализацию моделей сетевого взаимодействия открытых систем
- 22. Проанализируйте структуру, область применения и реализацию стека протоколов tcp/ip.
- 23. Объясните назначение, задачи и способы построения мультисервисных компьютерных сетей.
- 24. Объясните организацию межсетевого взаимод. И глоб. Сети Интернет.
- 25. Проанализируйте организацию корпоративных инф-ормац.-коммуникац. Инфраструктур на основе каталога Microsoft Active Directory.
- 26. Проанализируйте понятие базы данных, методы и средства создания моделей данных.
- 27. Охарактеризуйте основные аспекты реляционной модели данных. Продемонстрируйте использование методологии проектирования реляционных баз данных. Особенности реляционной модели данных.
- 28. Язык sql: назначение, возможности, типы команд.
- 29. Проанализируйте различные подходы к защите баз данных. Охарактеризуйте компьютерные и некомпьютерные средства контроля данных.
- 31. Охарактеризуйте многомерную модель данных. Продемонстрируйте метод многомерного моделирования для проектирования хранилищ данных.
- 32. Охарактеризуйте технологии olap. Объясните концепцию кубов данных и методы их построения с использованием современных систем.
- 33. Объясните понятие «многомерное выражение». Сформулируйте основные подходы к построению запросов к многомерным базам данных
- 34. Объясните основные этапы визуализации 3d геометрических моделей.
- 36. Объясните основы машинной графики.
- 37. Проанализируйте структуру системы сертификации программного обеспечения
- 38. Проанализируйте хеш-таблицу как структуру данных.
- 40.Охарактеризуйте объектную модель Java
- 41. Проанализируйте стандартные библиотеки Java Development Kit.
- 42. Объясните понятие межсетевого экрана и охарактеризуйте возможности использования.
- 43. Охарактеризуйте общие подходы к защите информации в ос
- 44. Охарактеризуйте основополагающие концепции теории информации. Дайте понятие количественной меры информации.
- 45.Объясните понятие сжатия информации. Проанализируйте классические алгоритмы сжатия.
- 46. Объясните процесс шифрования информации. Проанализируйте алгоритмы симметричного и ассиметричного шифрования.
- 47. Объясните понятие дефекта в по. Логика построения отчёта об ошибке
- 30. Объясните понятие бизнес-анализа, общие подходы к организации и созданию систем, предназначенных для хранения и анализа корпоративных данных.