https://github.com/lexhouk/goit-pyweb-hw-01
Модуль 1. Прийоми об'єктно-орієнтованого програмування
https://github.com/lexhouk/goit-pyweb-hw-01
abstractmethod goit goit-pyweb-hw-01 python-abc studying uml uml-class-diagram uml-diagram
Last synced: 6 months ago
JSON representation
Модуль 1. Прийоми об'єктно-орієнтованого програмування
- Host: GitHub
- URL: https://github.com/lexhouk/goit-pyweb-hw-01
- Owner: lexhouk
- Created: 2024-06-07T11:19:09.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-06-07T19:48:49.000Z (11 months ago)
- Last Synced: 2024-06-07T21:58:53.017Z (11 months ago)
- Topics: abstractmethod, goit, goit-pyweb-hw-01, python-abc, studying, uml, uml-class-diagram, uml-diagram
- Language: Python
- Homepage: https://www.edu.goit.global/uk/learn/21196455/24556365/24556491/homework
- Size: 12.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
```mermaid
classDiagram
Field <|--* Name
Field <|--* Phone
Field <|--* BirthdayName <|--* Record
Phone "0..*" <|--o "1" Record
Birthday <|--o RecordUserDict <|-- AddressBook
Record "0..*" <|--o "1" AddressBookException <|-- PhoneError
Exception <|-- BirthdayError
Exception <|-- RecordErrorABC <|-- Reader
Reader <|-- CliReaderABC <|-- Writer
Writer <|-- CliWriterclass Field {
<>
+str value
+__init__(str value) None
+__str__() str
}Phone: +__init__(str value) None
class Birthday {
+str FORMAT
+__init__(str value) None
+__str__() str
}class Record {
+Name name
+list~Phone~ phones
+Birthday|None birthday
+__init__(str name) None
+__str__() str
#find(str phone, bool get_instance) int | Phone | None
+add_phone(str phone) None
+remove_phone(str phone) None
+edit_phone(str current, str new) None
+find_phone(str phone) Phone | None
+add_birthday(str birthday) None
}class UserDict {
<>
}class AddressBook {
+data: Dict[str, Record]
+add_record(Record record) None
+find(str name) Record
+delete(str name) None
date_to_string(datetime.datetime date) str$
find_next_weekday(datetime.datetime start_date, int weekday) datetime.datetime$
+adjust_for_weekend(datetime.datetime birthday) datetime.datetime
+get_upcoming_birthdays(int days) Dict[str, list[str]]
}class Exception {
<>
}PhoneError: +__init__() None
BirthdayError: +__init__() Noneclass RecordError {
+str MESSAGE
+__init__() None
}class ABC {
<>
}class Reader {
<>
-prompt
+__init__(str prompt) None
read() tuple~str~*
}CliReader: +read() tuple~str~
class Writer {
<>
write(str data) None*
}class CliWriter {
+__init__() None
+write(str data) None
}
```