1

この「非オブジェクト指向」コードを変換しました。

from Tkinter import *

root = Tk()
frame = Frame(root)
frame.pack()

bottomframe = Frame(root)
bottomframe.pack( side = BOTTOM )

redbutton = Button(frame, text="Red", fg="red")
redbutton.pack( side = LEFT)

bluebutton = Button(frame, text="Blue", fg="blue")
bluebutton.pack( side = LEFT )

root.mainloop()

このオブジェクト指向コードに:

from Tkinter import *
class Window(Frame):
    def __init__(self, parent = None):
       Frame.__init__(self, parent)
       self.pack()

       widget=Button(self,text="Red", fg = "red")
       widget.pack(side = LEFT)

       widget = Button(self, text ="Blue", fg = "blue")
       widget.pack(side = RIGHT)
if __name__== '__main__':
    Window().mainloop()

どちらのスニペットも、画面上に単純なウィンドウをポップアップ表示します。私の質問は、この場合、オブジェクト指向プログラミング (つまり、クラスの使用) の利点は何ですか?

(クラスを使用して) 他の 3 つのウィンドウを生成したいが、ボタンの色を変更したい場合、ブループリント (つまりクラス) を変更する必要がありますか、またはクラス インスタンスを呼び出すときにそれを行う方法はありますか?

4

3 に答える 3

5

赤ボタンと青ボタンの両方を持つ 2 つのウィンドウがあるとしたらどうなるか考えてみてください。それらをオブジェクト内にカプセル化すると役立つ理由がわかりますか?

于 2013-08-21T11:47:59.667 に答える