Git Product home page Git Product logo

geekbrains_oop_java's Introduction

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

Урок 1. Принципы ООП: Инкапсуляция, наследование, полиморфизм

На основе кода с урока добавить еще один класс продукта, (Молоко, шоколад ,и т.п., можно добавить несколько классов), они должны наследоваться от класса Product, надо переопределить метод toString и попробовать включить эти классы в VendingMachine, вывести список товаров из VendingMachine

Урок 2. Принципы ООП Абстракция и интерфейсы. Пример проектирования

На основе работы на уроке сделать: Создать интерфейс, скорость плаванья Добавить новое животное, способное плавать Все вышеуказанное создать согласно принципам ООП пройдённым на семинаре

Урок 3. Некоторые стандартные интерфейсы Java и примеры их использования

Создать список по аналогии LinkedList (список связанных элементов), реализовать в нем iterable интерфейс. Список должен содержать элементы со ссылкой на следующий элемент (если показалось мало, то реализовать ссылку и на предыдущий элемент)

Урок 4. ООП: Обобщения. ч1

На основе работы на уроке. Создать класс щита, разработать разные типы щитов, добавить в семейство классов Warriors обобщения в виде щитов. Реструктуризировать код в конечных классах семейства Warriors. Добавить метод определения минимального щита в команде.

Урок 5. От простого к практике

Доработать справочник пользователей, для удаления. Поработать над проектом. Сделать сохранение в другом формате, например, не через запятую, а через точку с запятой, и разделителем - пустой строкой. Предусмотреть сохранение в старом формате.

Урок 6. Реструктуризировать проект HomeWork с учетом теоретических основ SOLID’а

Написать проект, "Записки", содержащий работу с записками из консоли (можно прочитать все записки, создать одну записку, отредактировать записку, удалить, и прочитать одну записку по ID), записка содержит в себе как минимум 3 поля Id, заголовок и текст, можно добавить дату. Хранение по вашему выбору, можно в текстовом файле (или каждая записка в одном файле, как вам удобнее). Можно сделать по аналогии с программой из 5 урока. Если все не успеете, то часть задания можно перенести на следующий урок.

Урок 7. ООП Дизайн и Solid ч.2

Дописать проект, "Записки", содержащий работу с записками из консоли (можно прочитать все записки, создать одну записку, отредактировать записку, удалить, и прочитать одну записку по ID), записка содержит в себе как минимум 3 поля Id, заголовок и текст, можно добавить дату. Хранение по вашему выбору, можно в текстовом файле (или каждая записка в одном файле, как вам удобнее). Можно сделать по аналогии с программой из 5 урока. Если вы сделали записки к этому уроку, то добавить логирование. Продумать, какие паттерны можно использовать в вашем проекте.

Object-oriented programming

Lesson 1. Principles of OOP: Encapsulation, inheritance, polymorphism

Based on the code from the lesson, add another product class, (Milk, chocolate, etc., you can add several classes), they should inherit from the Product class, you need to redefine the toString method and try to include these classes in the vendingMachine, output a list of products from the vendingMachine

Lesson 2. Principles of OOP Abstraction and Interfaces. Design example

Based on the work in the lesson to do: Create an interface, swimming speed Add a new animal that can swim All of the above should be created according to the principles of OOP passed at the seminar

Lesson 3. Some standard Java interfaces and examples of their use

Create a list similar to LinkedList (a list of related items), implement an iterable interface in it. The list should contain elements with a link to the next element (if it didn't seem enough, then implement a link to the previous element)

Lesson 4. OOP: Generalizations. h1

Based on the work in the lesson. Create a shield class, develop different types of shields, add generalizations in the form of shields to the Warriors class family. Restructure the code in the final classes of the Warriors family. Add a method for determining the minimum shield in the team.

Lesson 5. From simple to practical

Modify the user directory to delete. Work on the project. Make the save in a different format, for example, not separated by a comma, but separated by a semicolon, and separated by an empty string. Provide for saving in the old format.

Lesson 6. Restructure the HomeWork project taking into account the theoretical foundations of SOLID

Write a project, "Notes", containing work with notes from the console (you can read all the notes, create one note, edit a note, delete, and read one note by ID), the note contains at least 3 fields of Id, title and text, you can add a date. Storage of your choice is possible in a text file (or each note in one file, as you prefer). You can do it by analogy with the program from lesson 5. If you do not have time, then part of the task can be transferred to the next lesson.

Lesson 7. OOP Design and Solid part 2

Add a project, "Notes", containing work with notes from the console (you can read all notes, create one note, edit a note, delete, and read one note by ID), the note contains at least 3 fields of Id, title and text, you can add a date. Storage of your choice is possible in a text file (or each note in one file, as you prefer). You can do it by analogy with the program from lesson 5. If you have made notes for this lesson, then add logging. Think over which patterns can be used in your project

geekbrains_oop_java's People

Contributors

novikovadaria avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.