Здравствуйте. Я думаю, наверняка каждый начинал изучать ООП по учебникам. Как у кого это происходило в дальнейшем, я не представляю. Дойдя до этой темы, я вроде бы и понял, но в каких случаях использовать, не имел представлений, да и мне хватало процедурного с функциями.
Когда дошло дело до созданий GUI, на tkinter и qt, я увидел «монстра»...
Синтаксис был похож на ООП, но выглядел иначе. Открываю учебник и снова вижу: собачки, кошки, машины, учителя, ученики и прочие members. Открываю другой учебник, долистываю до ООП и вижу всё ту же картину. Перечитав все доступные учебники и справки в интернете, ничего нового, всё то же самое, классы и объекты только разные. Нигде не объяснялось, как работает ООП без созданий объектов, в особенности при создании виджетов для GUI.
Простецкий пример:
class Toplevel1:
def __init__(self, top=None):
top.geometry(«208x122+383+106»)
top.title(«Toplevel 0»)
self.top = top
self.Label1 = tk.Label(self.top)
self.Label1.place(relx=0.034, rely=0.066, height=31, width=65)
self.Label1.configure(anchor='w')
self.Label1.configure(compound='left')
self.Label1.configure(text='''Label''')
И вроде всё знакомо, но многое поменялось. К тому же, этого повсеместноего«self» стало ещё больше, и не очень понятно, где его нужно использовать, а где — нет.
Ну, и завершается код строками:
if __name__ == '__main__':
support.main()
Без того плохое понимание ООП убивается всем вот этим. Как программировать в таком стиле? И нужно ли?
|
|
|
Похожие вопросы |
Сервис LiveExpert.org (18+) содержит информацию только для совершеннолетних 18+ и может использоваться в информационно-развлекательных целях. Используя Сервис LiveExpert.org, вы принимаете Пользовательское соглашение, Политику конфиденциальности и Политику cookie.
Эксперты Сервиса LiveExpert.org не являются членами команды Сервиса или его представителями. LiveExpert.org проверяет Экспертов и даёт допуск к работе через Сервис, однако не несёт ответственности за обещания и утверждения, указанные на страницах Экспертов и в отзывах других Пользователей об Экспертах Сервиса. LiveExpert.org не гарантирует, что информация, полученная на консультации, приведёт к ожидаемым целям и результату.
Любые консультации Экспертов или ответы на вопросы, содержащиеся в категории вопросов «Медицина» (а также и в других категориях) ни при каких условиях не являются рекламой или оказанием медицинских услуг. Сервис LiveExpert.org не несет ответственность за назначенные Экспертом препараты и рекомендует обращаться в соответствующее лечебное учреждение или к лечащему врачу для согласования возможных рисков от приема рекомендованных экспертами препаратов. Пользователь Сайта, принимая решение следовать рекомендациям Эксперта, берет на себя ответственность за возможные последствия.