Defining getter and setter methods
In our previous section, we needed to know the value of a button in a given row and column of the button matrix for a given pattern. If the value was True
, we colored the button green. If the value was False
, we colored it in an alternative color.
We can get the value of the button by calling this line of code:
self.all_patterns[self.current_pattern.get()]['is_button_clicked_list'][row][col]
Notice how this line has four sets of square brackets, []
. Since this nested super-scripting business can soon get ugly, we encapsulated this logic in a method named get_button_value(row, col)
. Now, whenever we need to get a button's value, we can simply call this method with the right parameters.
Now our code will not be littered with those ugly nested superscripts. Whenever we want to get the value of a button, we can call the get_button_value(row, col)
method, which has a nice indicative name for the work it does. Isn't this much more readable and comprehensible than...