Promoting Python
Marko Rauhamaa
marko at pacujo.net
Thu Apr 7 03:19:52 EDT 2016
Ian Kelly <ian.g.kelly at gmail.com>:
> Let's take a different example.
>
> class Dialog(Window):
>
> def __init__(self, parent, title, ok_callback):
> super().__init__(parent, title)
> self._ok_callback = ok_callback
> self._ok_button = Button(self, 'Ok')
> self._ok_button.bind(self._ok_callback)
>
> def f(event):
> print("Hello world")
>
> dialog = Dialog(None, "Example", f)
> dialog.show()
>
> Are you suggesting that dialog._ok_callback should be considered a
> method of Dialog, despite the fact that the implementation of Dialog
> and the implementation of f are entirely unrelated? If so, then I
> think that most OOP practitioners would disagree with you.
First, terminology disputes are pointless.
No, I would never call f a method of Dialog. I might call it a method of
dialog, though.
A method is simply a callable attribute:
Procedures in object-oriented programming are known as methods
<URL: https://en.wikipedia.org/wiki/Object-oriented_programming>
(Now, in CLOS, GOOPS etc, methods are not attributes at all, but that's
another story.)
Marko
More information about the Python-list
mailing list