0 / 0 / 0
Регистрация: 29.01.2023
Сообщений: 3

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

29.01.2023, 21:33. Показов 547. Ответов 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
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru