Skip to content

Z01coder/OOP-zoo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OOP-zoo

GitHub license

Описание проекта

Этот проект представляет собой учебный пример работы с объектно-ориентированным программированием (ООП) на Python. В нем реализованы базовые принципы ООП, такие как инкапсуляция, наследование и полиморфизм. Проект демонстрирует создание классов, управление атрибутами и методами, а также взаимодействие между объектами.

Основной код программы находится в файле main.py.


Структура проекта

Классы:

  1. Класс User:

    • Описание: Представляет обычного пользователя системы.
    • Атрибуты:
      • _id: Уникальный идентификатор пользователя.
      • _name: Имя пользователя.
      • _access_level: Уровень доступа ('user' по умолчанию).
    • Методы:
      • Геттеры и сеттеры для доступа к атрибутам (id, name, access_level).
  2. Класс Admin (наследуется от User):

    • Описание: Представляет администратора системы с расширенными правами.
    • Дополнительные атрибуты:
      • _access_level: Уровень доступа администратора ('admin').
    • Методы:
      • add_user(new_user): Добавляет нового пользователя в систему.
      • remove_user(user_to_remove): Удаляет пользователя из системы.

Установка и использование

  1. Клонирование репозитория:
    git clone https://github.com/Z01coder/OOP-zoo.git
    cd OOP-zoo
    
  2. Запуск проекта:
    python main.py
    
  3. Пример кода:
from main import User, Admin

# Создание обычного пользователя
user1 = User(id=1, name="John Doe")
print(f"User ID: {user1.id}, Name: {user1.name}, Access Level: {user1.access_level}")

# Создание администратора
admin = Admin(id=2, name="Jane Admin", access_level="admin")
print(f"Admin ID: {admin.id}, Name: {admin.name}, Access Level: {admin.access_level}")

# Добавление пользователя через администратора
admin.add_user(user1)

About

Example of working with object-oriented programming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages