
- •1. Основные операции языка Си.
- •3. Язык Си: указатели и массивы. Определения, примеры.
- •4. Язык Си: объявления функций, передача аргументов. Примеры.
- •5. Язык Си: строки и указатели. Определения, примеры.
- •8. Язык Си: структуры. Пример.
- •9 . Язык Си: битовые поля и объединения. Примеры.
- •10. Язык Си: оператор определения типа. Примеры.
- •11.Язык Си: препроцессор. Директивы препроцессора, примеры
- •12.Язык Си: программный стек. Пример работы стека.
- •13. Линейные списки. Операции с линейными списками.
- •14 Hash-таблицы
- •15 Двоичные деревья
- •17. Язык Си: ссылочные типы. Пример.
- •18. Язык Си: защита указателей и объектов, неявное изменение объектов.
- •19. Язык Си: организация ввода/вывода. Пример: слияние файлов. Организация ввода/вывода
- •Открытие файла
- •Закрытие файла
- •Ввод из файла
- •Вывод в файл
- •Особые ситуации
- •Пример: слияние файлов
- •20. Язык Си: произвольный доступ к файлам. Пример.
- •22. Язык Си: примеры реализаций функций ввода/вывода (getc,putc).
- •23. Язык Си: примеры реализаций функций ввода/вывода (fgets, fputs).
- •24. Язык Си: работа с файловой системой. Пример.
- •25. Основные понятия ооп: абстракция, инкапсуляция, наследование, полиморфизм.
- •27. Объекты классов: статические,автоматические, динамические. Примеры.
- •28. Управление доступом к элементам классов. Пример.
- •29. Шаблоны функций и шаблоны классов. Примеры.
- •30. Наследование. Пример.
- •31. Множественное наследование. Пример.
- •П оскольку классы-потомки наследуют все данные и методы классов-предков, в итоге имеем следующую картину:
- •32. Виртуальные функции. Раннее и позднее связывание.
- •33. Абстрактные классы. Их назначение, пример.
- •34. Полиморфный контейнер (пример).
- •36. Конструкторы, их виды, примеры. Вызов конструкторов при наследовании.
- •37. Деструкторы. Их назначение, примеры.
- •39. Перегруженные операции. Примеры.
- •40. Обработка нештатных ситуаций. Объекты-исключения. Примеры.
- •Вопрос 1: какова дальнейшая судьба этих ресурсов, будут ли они освобождены?
- •Вопрос 2: как распознавать подобные ситуации и корректно их обрабатывать?
- •41. Модели жизненного цикла программного обеспечения. Модели жизненного цикла по
- •Спиральная модель жизненного цикла по.
- •42. Проектирование программного обеспечения и uml.
- •Uml (основные понятия)
- •Канонические диаграммы языка uml 2.X
- •43. Диаграммы прецедентов. Нотация, семантика, примеры.
- •Основные обозначения на диаграммах прецедентов:
- •44. Сценарии выполнения прецедентов (пример).
- •45. Диаграммы классов. Нотация, семантика, отношения.
- •46. Атрибуты на диаграммах классов. Нотация и семантика. Примеры.
- •47. Операции на диаграммах классов. Нотация и семантика. Примеры.
- •48. Отношения ассоциации на диаграммах классов.
- •Отношения ассоциации
- •Предприятие
- •Сотрудник
- •Отношения обобщения
- •Отношения композиции
- •53. Язык c#: сборки, манифесты, домены, компоненты.
- •55. Java как язык ооп для машинно-независимых приложений.
- •56. Обзор Java-технологий NetBeans ide.
- •57. Компонентные технологии разработки программного обеспечения.
- •59.Обёртки в языках c# и Java.
- •60. Архитектурный паттерн mvc. Область применения, схема взаимодействия.
59.Обёртки в языках c# и Java.
Оберткой примитивного (фундаментального) типа называется его представление в виде соответствующего класса. Между значениями примитивного типа и объектами класс-обёртки определены преобразования по умолчанию: упаковка (autoboxing) и распаковка (auto-unboxing).
Обертки примитивных типов Java и С#:
Java
byte |
java.lang.byte |
short |
java.lang.short |
int |
java.lang.integer |
long |
java.lang.long |
float |
java.lang.float |
double |
java.lang.double |
boolean |
java.lang.boolean |
char |
java.lang.character |
C#
bool |
System.Boolean |
byte |
System.Byte |
sbyte |
System.SByte |
char |
System.Char |
decimal |
System.Decimal |
double |
System.Double |
float |
System.Single |
int |
System.Int32 |
uint |
System.UInt32 |
long |
System.Int64 |
ulong |
System.UInt64 |
object |
System.Object |
short |
System.Int16 |
ushort |
System.UInt16 |
string |
System.String |
Пример 1. Упаковка и распаковка в С#
упаковка int в System.Int32
упаковка System.Int32 в int
Пример 2. Упаковка и распаковка в Java
public static void main(String[] args) {
int i = 1; byte b = 1;
String value = “1000”;
Integer iObj = new Integer(i);
Byte bObj = new Byte(b);
Long lObj = new Long(value);
System.out.println(“iObj + lObj.toString());
Long sum = new Long(lObj.longValue() - iObj.byteValue() + bObj.shortValue());
System.out.println(“The sum = “ + sum.doubleValue());
}
На выдаче будет получено:
lObj = 1000
The sum = 1002.0
60. Архитектурный паттерн mvc. Область применения, схема взаимодействия.
Главная идея паттерна MVC (Model-View-Controller) состоит в отделении модели данных (Model) от визуального представления данных (View). Это есть один из фундаментальных принципов проектирования современного ПО. Взаимодействие между данными и их представлениями осуществляет обработчик событий (Controller). В MFC и Windows Forms компоненты View и Controller объединены в оконные классы. В web-приложениях они разделены.
Паттерн MVC рекомендуется к применению при следующих обстоятельствах:
Одна и та же информация представляется по-разному и в разных местах.
Изменения в данных должны сразу отображаться в их представлениях.
Любые изменения пользовательского интерфейса не должны затрагивать код, который связан с обработкой и структурирование данных.
Типовая схема взаимодействия между элементами паттерна MVC:
Пользователь взаимодействует с элементом пользовательского интерфейса ( компонент View). Например, нажимает на кнопку, чтобы изменить данные.
Компонент View отправляет событие “ нажатие кнопки” в компонент Controller для надлежащей обработки данного события.
Обработчик событий (Controller) изменяет модель данных (компонент Model).
Компонент Model информирует компонент View о том, что данные были изменены.
Комнент View читает информацию об изменения, произошедших в модели данных, и обновляет (перерисовывает) визуальное представление этих данных.