Skip to content

bmstu-ics7/object-oriented-programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Объектно-ориентированное программирование

Count Lines of Code

     109 text files.
     107 unique files.
      20 files ignored.

github.com/AlDanial/cloc v 1.82  T=0.06 s (1453.0 files/s, 95580.2 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C/C++ Header                    41            459             13           1853
C++                             32            274              3           1184
C#                               7            188             10            781
Qt                               2              0              0            770
MSBuild script                   1              0              0             86
Markdown                         2             49              0             83
ProGuard                         2             20             28             83
JSON                             2              0              0             74
make                             2              5              0             23
-------------------------------------------------------------------------------
SUM:                            91            995             54           4937
-------------------------------------------------------------------------------

lab 01

Вьювер каркасной модели (3D фигура, можно 4). Вершины соединяются ребрами, получается каркасная модель. Надо поворачивать, переносить, масштабировать. Модель хранить в файле. Реализация структурно. Оконный интерфейс. Домен интерфейс и домен релализации разделить точкой входа.

lab 02

Создать библиотечный шаблоный контейнерный класс (4 варианта)

  1. Вектор математический
  2. Множество (каждый элемент уникален)
  3. Список прямого доступа
  4. Матрица

№ журнала - 1 % 4 + 1

  • Контейнерный класс
  • Операции
  • Просматривать содержимое в контейнере по итератору a[i]
  • Интерфейс должен быть избыточным

lab 03

Паттерн подписчик-издатель
Смоделировать работу лифта

Какие объекты можно выделить

  • Кабина лифта
  • Двери лифта
  • Лифт
  • Блок управления
  • Мб умный лифт знает сколько пассажиров

Есть разные объекты и возникают связанные жизненные циклы. Состояние одного объекта связано с состоянием другого (неполное соответствие)

Состояния связаны и определяют друг друга:

  • Выделяем несколько объектов
  • Строим модели состояний
  • Смотрим какие события приводят к состояниям этого объекта или других

C++ Qt на сигналах и слотах, можно использовать C# на делегатах и евентах

lab 04

Первая лабораторная работа, реализовать объектами, построить модель(выделить сущности, формализация (отношения), посредники). Задача рассмотрения одного объекта, но возможно появление нескольких, даже групп.

Сначала надо сдать схему, потом можно писать код.

lab 05

Подготовить диаграммы, выполнить моделирование. Выделить сущности, выделить атрибуты, связи. Диаграмма сущность - связь. Выделить жизненные циклы для объектов, построить модель, строить канал управления. Расписываем действия состояний, строим ДПС, выделяем аксессорные связи

Releases

No releases published

Packages

No packages published