У меня есть 2 класса, которые я хочу как наследовать из другого класса. Эти 2 класса уже имеют , определенные. Теперь я хочу, чтобы эти 2 класса наследовали метод, требующий ряд параметров (аргументов). Но в 2 классах, которые должны унаследовать, получает преимущество.Наследование: __init__ overriden
Как я могу решить эту проблему? Я читал о конструкторах в Python против . Могу ли я создать пользовательский конструктор для метода? Я совершенно новый на занятиях вообще.
EDIT:
Вот что я attemping. Это проект GUI. Это основной класс:
class Error:
def __init__(self, check0, check1, check2, check3, check4, check5, check6, check7, check8, check9, check10, check11,
check12, check13, check14, check15):
self.check0 = check0
self.check1 = check1
self.check2 = check2
self.check3 = check3
self.check4 = check4
self.check5 = check5
self.check6 = check6
self.check7 = check7
self.check8 = check8
self.check9 = check9
self.check10 = check10
self.check11 = check11
self.check12 = check12
self.check13 = check13
self.check14 = check14
self.check15 = check15
def feedbackOnError(self):
feedback = ''
global feedback
if self.check0 == False:
feedback0 = "You didn't provide a name and/or mail"
feedback = feedback0
if self.check3 == False:
feedback3 = "You didn't provide a valid year (you used over 4 digits or none)"
feedback = feedback3
if self.check4 == False:
feedback4 = "You didn't provide a valid year (you used letters)"
feedback = feedback4
if self.check5 == False:
feedback5 = "You didn't provide a valid month (you used over 2 digits or none)"
feedback = feedback5
if self.check6 == False:
feedback6 = "You didn't provide a valid month (you used letters)"
feedback = feedback6
if self.check7 == False:
feedback7 = "You didn't provide a valid month (you used a number above 12)"
feedback = feedback7
if self.check8 == False:
feedback8 = "You didn't provide a valid month '00' is not a month)"
feedback = feedback8
if self.check9 == False:
feedback9 = "You didn't provide a valid day (you used letters)"
feedback = feedback9
if self.check10 == False:
feedback10 = "You didn't provide a valid day '00' is not a day)"
feedback = feedback10
if self.check11 == False:
feedback11 = "You didn't provide a valid day (you used a number above 31)"
feedback = feedback11
if self.check12 == False:
feedback12 = "You didn't provide a valid day (you used over 2 digits or none)"
feedback = feedback12
if self.check13 == False:
feedback13 = "Your month doesn't match up with your day (February has 29 during leap year)"
feedback = feedback13
if self.check14 == False:
feedback14 = "Your month doesn't match up with your day (February has 28 during normal years)"
feedback = feedback14
if self.check15 == False:
feedback15 = "Your chosen month and day don't match up (You used '31' for a month with only 30)"
feedback = feedback15
if self.check1 == False:
feedback1 = "You used characters that are not permitted: \n/' * \\ _ > < [ ] () | + { } % & ! \" # = ?^~ . , ; :"
feedback = feedback1
if self.check2 == False:
feedback2 = "You used characters that are not permitted: \n/' * \\ _ > < [ ] () | + { } % & ! \" # = ?^~ . , ; :"
feedback = feedback2
Это классы, которые я хочу, чтобы наследовать главный класс:
class AddDialog(sized_controls.SizedDialog, Error):
def __init__(self, *args, **kwargs):
super(AddDialog, self).__init__(*args, **kwargs)
class EditDialog(sized_controls.SizedDialog, Error):
def __init__(self, *args, **kwargs):
super(EditDialog, self).__init__(*args, **kwargs)
Вам нужно будет показать нам свой код, если мы хотим указать, что вы сделали неправильно. – user2357112
Попробуйте вызвать 'super' в методах' __init__'. – bjd2385
Непонятно, как '__init__' связано с вашей проблемой« наследовать метод »... или т. Е. Проблема IS. –