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

В классе Vacancy не вызывается инициализатор базового класса

06.04.2020, 18:42. Показов 27072. Ответов 6

Author24 — интернет-сервис помощи студентам
В данном коде пишет ошибку "В классе Vacancy не вызывается инициализатор базового класса". Как исправить данную ошибку?

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
class Profile:
    def __init__(self, prof):
        self.prof = prof
 
    def info(self):
        return ' '
 
    def describe(self):
        print(self.prof, self.info())
 
 
class Vacancy(Profile):
    def __init__(self, profes, money):
        self.profes = profes
        self.money = money
 
    def info(self):
        return f'Предлагаемая зарплата: {self.money}'
 
 
class Resume(Profile):
    def __init__(self, prof, experience):
        self.prof = prof
        self.experience = experience
 
    def info(self):
        return f'Стаж работы: {self.experience}'
Добавлено через 10 минут
Вот сама задача:
На сайте поиска вакансий есть два типа объектов: вакансии и резюме.
Каждый такой объект имеет название профессии (в вакансии – предлагаемая профессия, в резюме – желаемая профессия).
Также в вакансиях указывается название компании и предлагаемая зарплата, а в резюме – стаж работы.

Реализуйте иерархию классов для такого сайта.

Profile – базовый класс. Его конструктор должен принимать один аргумент – название профессии. Также этот класс должен представлять методы
info(), который должен возвращать строку с дополнительной информацией. Для класса Profile эта строка должна быть пустой, в производных классах этот метод будет переопределяться.
describe(), который печатает название и дополнительную информацию (т.е. результат работы метода info())
Vacancy – наследник класса Profile. Его конструктор должен принимать два аргумента – название профессии и предлагаемую зарплату. При написании конструктора используйте конструктор базового класса. Метод info() класса Vacancy должен возвращать строку вида «Предлагаемая зарплата: ...»
Resume – наследник класса Profile. Его конструктор должен принимать два аргумента – название профессии и стаж работы. При написании конструктора используйте конструктор базового класса. Метод info() класса Resume должен возвращать строку вида «Стаж работы: ...»
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2020, 18:42
Ответы с готовыми решениями:

Вызывается метод из базового класса
Имеется 2 класса: В 1 классе Data имеются такие методы: private string GetUpdateQuerryString()...

Не вызывается конструктор базового класса
Доброго времени суток. У меня проблема:в производном классе не вызывается конструктор базового...

Не вызывается нужный конструктор базового класса
Здравствуйте. Я пока в процессе изучения С++. Имеется следующая структура классов: Базовый:...

Наследование: почему вызывается метод базового класса, а не производного?
Всем привет, такой вопрос, почему вызывается в данном коде метод базового класса, а не производного...

6
Заклинатель змей
700 / 555 / 219
Регистрация: 30.04.2016
Сообщений: 2,591
06.04.2020, 19:03 2
Лучший ответ Сообщение было отмечено TheSun1 как решение

Решение

TheSun1, добавить явный вызов init родителя
Python
1
2
3
4
class Vacancy(Profile):
    def __init__(self, profes, money):
         super().__init(profes)
        self.money = money
1
9 / 9 / 0
Регистрация: 20.10.2019
Сообщений: 118
06.04.2020, 19:14 3
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Profile:
    def __init__(self, name):
        self.name = name
    def info(self):
        return ''
    def describe(self):
        print(self.name, self.info())
class Vacancy(Profile):
    def __init__(self, name, cash):
        super().__init__(name)
        self.cash = cash
    def info(self):
        return "Предлагаемая зарплата{}".format(self.cash)
class Resume(Profile):
    def __init__(self, name, work_time):
        super().__init__(name)
        self.work_time = work_time
    def info(self):
        return "Стаж работы {}".format(self.work_time)
У меня такой вот код прошел
1
6 / 6 / 1
Регистрация: 04.01.2020
Сообщений: 2
07.04.2020, 15:18 4
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
class Profile:
    def __init__(self, proffesion):
        self.proffesion = proffesion
    
    def info(self):
        return ''
      
    def describe(self):
        print(self.proffesion, self.info())
        
        
class Vacancy(Profile):
    def __init__(self, profile, a):
        super().__init__(profile)
        self.a = a
        
    def info(self):
        return f'Предлагаемая зарплата: {self.a}'
      
      
class Resume(Profile):
    def __init__(self, profile, a):
        super().__init__(profile)
        self.a = a
        
    def info(self):
        return f'Стаж работы: {self.a}'
4
Заклинатель змей
700 / 555 / 219
Регистрация: 30.04.2016
Сообщений: 2,591
07.04.2020, 15:29 5
mihab4,
Кликните здесь для просмотра всего текста
пан Проффесионал на форуме
0
0 / 0 / 0
Регистрация: 14.06.2020
Сообщений: 1
19.06.2020, 20:23 6
Это решение!
0
0 / 0 / 0
Регистрация: 14.04.2024
Сообщений: 2
22.04.2024, 17:43 7
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
class Profile:
    def __init__(self, profession):
        self.profession = profession
 
    def info(self):
        return ""
 
    def describe(self):
        print(f"Profession: {self.profession} {self.info()}")
 
class Vacancy(Profile):
    def __init__(self, profession, salary):
        super().__init__(profession)
        self.salary = salary
 
    def info(self):
        return f"Предлагаемая зарплата: {self.salary}"
 
class Resume(Profile):
    def __init__(self, profession, experience):
        super().__init__(profession)
        self.experience = experience
 
    def info(self):
        return f"Стаж работы: {self.experience}"
0
22.04.2024, 17:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2024, 17:43
Помогаю со студенческими работами здесь

Наследование: почему вызывается метод базового класса, не смотря на использование ключевого слова virtual?
Привет! Делаю лабораторную работу по ООП. По заданию нужно сделать систему классов для работы с...

Убрать метод базового класса в наследуемом классе
/** * base */ class baseClass { public function disMe() { echo "I'm here<br>"; } ...

Использование переменных базового класса в дочернем классе
Доброго времени суток. Подскажите пожалуйста как в классе SumbString работать с переменными(string...

Инициализация в производном классе переменной из базового класса
Привет подскажите пожалуйста, как правильно реализовать такое. Есть член переменная базового...

Как убрать свойства базового класса в классе-потомке?
пишу свой контрол для winforms в моем контроле не будет столько свойств как в контроле usercontrol...

Как в производном классе спрятать методы из базового класса?
Как в производном классе, спрятать методы из базового класса. То есть при создании экземпляра...

В производном классе вызов приватного метода базового класса
Добрый вечер. Помогите понять одну вещь. Имеется такое наследование: class test1 { public: ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru