Содержание
- 2. Классы и объекты Для того чтобы создать новую программу необходимо произвести проектирование. Проектирование программ в объектно
- 3. Задание 1. Дробь. Прежде, чем рассмотреть процесс проектирования, рассмотрим пример. Ввести дроби A и B и
- 4. 1.1 - ввод При решении задачи выполняем шаг за шагом последовательно, как изложено в задаче. Вводим
- 5. 1.1 - вычисление // считаем первую скобку (приводим к общему знаменателю // и складываем числитель) An
- 6. 1.1 - вывод System.out.println("Результат:"); // печатаем в десятичном виде System.out.println(1.0 * An / Ad); if (An
- 7. 1.1 - результат Результат работы программы: Введите первую дробь 1 4 Введите вторую дробь 3 5
- 8. 1.2 теперь с ООП Теперь решим эту же задачу с применением ООП. В отличие от предыдущего
- 9. 1.2 теперь с ООП На предыдущем слайде мы целую страницу посвятили описанию того как будет устроен
- 10. 1.2 – класс, поля и методы public class Fraction { private int numerator; private int denomenator=1;
- 11. 1.2 – класс, конструкторы public void nextFraction() { Scanner sc = new Scanner(System.in); int n =
- 12. 1.2 – класс, метод печати public void print() { if(numerator % denomenator == 0){ System.out.println(numerator/denomenator); return;
- 13. 1.2 – вычисление Мы строили, строили и наконец построили. Класс готов и теперь мы можем наконец
- 14. 1.2 - результат Запустив test.java и вбив те-же значения, получаем такой же результат: Введите дробь 1
- 15. Задача 1 – анализ. Мы решили задачу используя два разных подхода. Сравним (при одинаковом результате): В
- 16. Задача 2. Ввести 5 правильных дробей и вычислить сумму и произведение дробей. Решить без применения ООП
- 17. Задача 2. 2.1 - ввод Решение без ООП – решаем аналогично решению выше. То есть мы
- 18. 2.1 - вычисление int rez1n = 0; int rez1d = 1; int rez2n = 1; int
- 19. 2.1 – печать System.out.println("Результат 1:"); // печатаем в десятичном виде System.out.println(1.0 * rez1n / rez1d); if
- 20. 2.1 – печать System.out.println("Результат 2:"); // печатаем в десятичном виде System.out.println(1.0*rez2n/rez2d); if (rez2n / rez2d ==
- 21. 2.1 – результат работы Введите дроби: ============== 1 2 ============== 1 2 ============== 1 2 ==============
- 22. 2.2 – решение с ООП В отличие от решения без ООП, у нас уже имеется класс
- 23. Задача 2 - вывод Давайте опять сравним решение в двух парадигмах. В варианте без ООП мы
- 24. ООП проектирование. Игра. Задание. Написать игру текстовый квест «Корпорация». Цель игрока — поднять социальный статус персонажа.
- 25. Сюжет. Пример сюжета. К=1,А=100тр,Р=50% 1я Сцена - «Первый клиент». Вы устроились в корпорацию менеджером по продажам
- 26. Решение “в лоб”. Scanner in = new Scanner(System.in); int K=1,A=100,P=50; System.out.println("Вы прошли собеседование и вот-вот станете
- 27. ООП проектирование - сложно. Объектно ориентированной проектирование, как и обычное проектирование проходит стадию анализа и синтеза.
- 28. ООП проектирование - просто. Простыми словами процесс проектирования можно описать так: из текста подробного описания предметной
- 29. Наш пример. Проведя синтаксический разбор и последующий анализ описания нашей задачи получили такую таблицу:
- 30. Наш пример. После того как мы вычленили из задания сущности, их свойства и действия — построим
- 31. UML
- 32. Генерация кода. После построения модели вы можете прямо из UML-редактора сгенерировать исходный код (только нужно выбрать
- 33. Генерация кода. В случае же если приложение разрабатывалось для андроид, класс Game будет расширять класс Activity,
- 34. Character.java package quest1; import java.util.*; public class Character { public int K; public int A; public
- 35. Situation.java package quest1; public class Situation { public Situation[] direction; public String subject; public String text;
- 36. Story.java package quest1; public class Story { private Situation start_story; public Situation current_situation; Story() { start_story
- 37. Game.java package quest1; import java.util.*; public class Game { public static Character manager; public static Story
- 38. Пример 3 – электронный журнал. В предыдущем примере мы произвели проектирование игры-квеста. При этом мы заметили
- 39. Пример 3. Детализируем постановку задачи. Итак есть школа как учебное заведение, находящаяся по адресу 344000, г.
- 40. Пример 3. Нас в этом задании интересуют следующие: общий список преподавательского состава с указанием квалификации для
- 41. Пример 3. Описывать процесс формирования журнала не будем – вы и так знаете. Давайте проведем анализ
- 42. Пример 3.
- 43. Пример 3.
- 44. Пример 3. На предыдущем слайде мы получили диаграмму классов нашей будущей программы. Однако в ней имеется
- 45. Пример 3. Для решения этих вопросов выделим суперклассы для всех участников, описанных в анализе ТЗ. Небольшой
- 46. Пример 3. Изменяем схему с учетом наследования классов
- 47. Пример 3. В приведенной диаграмме поднятые вопросы разрешены. Теперь в классе School есть метод, который нам
- 48. Заключение. Парадигма ООП давно и устойчиво утвердилась как основная при разработке ПО. В представленной презентации я
- 49. Заключение. Однако даже если вы делаете свою маленькую программку, которой кроме вас возможно никто и не
- 50. Сквозное задание 3.1.1 Проведите процесс объектно ориентированной разработки вашего приложения: - формализация постановки задачи - анализ
- 52. Скачать презентацию