PYTHON ДЛЯ 1C — ЭТО ПРОСТО. ЧАСТЬ 8
- Опубликовано Илья Низамов
- Разделы Blog
- Дата 14.10.2020
- Комментарии Нет комментариев
Наследование в Python
Создадим базовый класс “Справочник”
from random import randint
from uuid import uuid4
# Наследование
class Catalog:
def get_object(self):
print("Получаем из базы: {}".format(self.__class__.__name__))
def write(self):
print("Записываем в базу: {}".format(self.__class__.__name__))
def delete(self):
print("Удаляем из базы: {}".format(self.__class__.__name__))
@staticmethod
def search_by_ref(ref):
return "Ищем в базе по ссылке {}".format(ref)
Создадим класс “Справочники” с инициализацией экземпляра класса необходимыми атрибутами объекта и наследуемся от класса “Справочник”
class Catalogs(Catalog):
def __init__(self, description=''):
self.code = randint(1, 1000)
self.description = description
self.deletion_mark = False
self.ref = uuid4()
def __str__(self):
return "Код {} Наименование {} Ссылка {}".format(self.code, self.description, self.ref)
Создадим 2 класса “Товары” и “Партнеры”. Оба наследуются от “Справочники”. В классах добавляем необходимые реквизиты для этих видов и при необходимости переопределяем методы родительских классов.
class Products(Catalogs):
def __init__(self, description=''):
super(Products, self).__init__(description)
self.image = None
def write(self):
# Можно проверить на корректность введеных данных
if self.image is not None:
super().write()
else:
print("Обязательно добавьте изображение")
class Partner(Catalogs):
def __init__(self):
super(Partner, self).__init__()
self.inn = ""
self.kpp = ""
Примеры создания экземпляров классов
table = Products('Стол дуб')
print(table)
table.write()
table2 = Products()
table2.description = 'Стол сосна'
table2.image = 'Изображение'
print(table2)
table2.write()
ooo_mayak = Partner()
ooo_mayak.description = 'ООО Маяк'
ooo_mayak.inn = '123'
ooo_mayak.kpp = '465768'
print(ooo_mayak)
ooo_mayak.write()
Пример вызова статического метода класса
print(Catalog.search_by_ref('734235ee-b821-4467-a905-ffb5a86a2ab0'))
Вам также может понравиться
GIGACHAT ИЛИ CHATGPT ИИ МЕНЕДЖЕР ДЛЯ 1С
15 мая, 2024
ИИ МЕНЕДЖЕР НА БАЗЕ GIGACHAT
12 февраля, 2024
ChatGPT Антиспам. Часть 1
5 февраля, 2024