Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.01.2023
Сообщений: 3

Демонстрация полиморфизма

29.01.2023, 21:33. Показов 545. Ответов 6

Студворк — интернет-сервис помощи студентам
Помогите господа программисты, пожалуйста!
Не могу понять, что не работает в коде (демонстрация полиморфизма), работает только наполовину:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Родительский класс
class Book:
    def __init__(self, tolshchina, cena):
        self.tolshchina = tolshchina
        self.cena = cena
 
    def svodka(self):
        print(f'Название класса:{Book.__name__}')
        print(f' Эта книга толщиной {self.tolshchina} листов(а) стоит {self.cena} рублей(я)')
 
 
# Унаследованный класс
class Textbook(Book):
    def __init__(self):
        super().__init__()
        self.otvety = 5
 
    def svodka(self):
         print(f'Название класса:{Textbook.__name__}')
         print(f' Эта книга толщиной {self.tolshchina} листов(а) стоит {self.cena} рублей(я)')
         print(f' В данном учебнике ответы занимают {self.otvety} листов(а)')
 
 
def Demonstraciya():
      for Biologiya in [Book, Textbook]:
           print("*********")
           object = Biologiya(45, 132)
           object.svodka()
 
Demonstraciya()
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.01.2023, 21:33
Ответы с готовыми решениями:

Создать класс 'Group' и три производных класса 'Student', в которых, на основе полиморфизма, переопределяются методы
Создать класс 'Group' и три производных класса 'Student', в которых, на основе полиморфизма, переопределяются методы введения имени,...

Пример полиморфизма или наследования
Помогите написать задачу чтобы в ней рассматривался пример полиморфизма, или наследования. Условие задачи, сам код, объяснение. 50-+ строк

ООП. Перегрузка операторов в наследование с примесью полиморфизма
Здравствуйте, нужна помощь, а то мозг болит. В общем не получается получить сумму разных атрибутов из разных наследуемых классов, а...

6
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
29.01.2023, 21:41
Yura_Puhov, Юр, привет, а какое задание было, есть его текст от преподавателя?

за вот это спасибо, сильно смеялся
Цитата Сообщение от Yura_Puhov Посмотреть сообщение
Demonstraciya
Цитата Сообщение от Yura_Puhov Посмотреть сообщение
svodka
Цитата Сообщение от Yura_Puhov Посмотреть сообщение
cena
0
0 / 0 / 0
Регистрация: 29.01.2023
Сообщений: 3
29.01.2023, 21:56  [ТС]
Придумайте свои примеры видов полиморфизма.

Добавлено через 2 минуты
Что-то не так с super().__init__() скорее всего, только моих знаний не хватает догнать)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38193 / 21126 / 4309
Регистрация: 12.02.2012
Сообщений: 34,732
Записей в блоге: 14
30.01.2023, 08:26
Welemir1, не могу не отметить замечательный образ мыслей ТС! Базовые характеристики книги у него - толщина и цена! Это супер! Мышление товароведа...

Добавлено через 15 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
class Pet:
    def __init__(self,name):
        self.name=name
    
    def voice(self):
        raise AttributeError
        
class Cat(Pet):
    def __init__(self,name):
        super().__init__(name)
        
    def voice(self):
        print("мяу-мяу!!!")
        
 
class Dog(Pet):
    def __init__(self,name):
        super().__init__(name)
        
    def voice(self):
        print("гав-гав!!!")
        
class Bird(Pet):
    def __init__(self,name):
        super().__init__(name)
        
    def voice(self):
        print("чик-чирик!!!")
 
p1=Cat("Барсик")
p2=Dog("Шарик")
p3=Bird("Чижик")
 
for pp in (p1,p2,p3):
    pp.voice()
    
q=Pet("some")  
q.voice()           # здесь будет ошибка (вызов "абстрактного" метода)
2
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
30.01.2023, 08:54
Цитата Сообщение от Yura_Puhov Посмотреть сообщение
видов полиморфизма

У него оказывается виды еще есть?!
0
0 / 0 / 0
Регистрация: 29.01.2023
Сообщений: 3
30.01.2023, 20:56  [ТС]
1) В данном случае обыгрывал именно работу с книгами, как с товаром в магазине. Мышление товароведа тут ни при чём.
2) Про виды полиморфизма - это название задания, я его не выдумывал.
В целом спасибо за здравую критику. Приму к сведению.

Ответ на вопрос не получил, но помог сам преподаватель, за что ему огромное спасибо!
В унаследованном классе нужно было прописать те же параметры, что и в родительском.
class Textbook(Book):
def __init__(self, tolshchina,cena):
super().__init__(tolshchina,cena)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
30.01.2023, 23:14
Цитата Сообщение от Yura_Puhov Посмотреть сообщение
прописать те же параметры, что и в родительском
Неа!
Полиморфизм - это один интерфейс, но разное поведение (реализация методов). А поля класса - это состояние. И оно как раз к полиморфизму вообще никаким боком.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.01.2023, 23:14
Помогаю со студенческими работами здесь

Демонстрация полиморфизма
Друзья, помогите, пожалуйста. Вот программка , которая должна демонстрировать полиморфизм. По идее на экране должно появиться 1 и 2. Но, к...

Демонстрация полиморфизма
Привет! Вообщем: using System; using System.Collections; using System.Linq; using System.Text; using System.Threading.Tasks; ...

Демонстрация презентации
При демонстрации ухудшается качество презентации, что делать? Точнее качество плохое только во время презентации.

Демонстрация PictureJoinerSplitter
вчера вечером решил написать простейшую и почти бесполезную прогу. вообще это нужно на конечном этапе когда несколько маленьких...

Демонстрация экрана
Доброго времени. У меня возникла идея, а после и необходимость реализации демонстрации экрана с одного компьютера на другом(на примере...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru