Page 20 - thinkpython
P. 20

xx                                                                     Contents

                  17 Classes and methods                                                      157

                     17.1  Object-oriented features . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  157

                     17.2  Printing objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  158

                     17.3  Another example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  159
                     17.4  A more complicated example . . . . . . . . . . . . . . . . . . . . . . . . . .  160

                     17.5  The init method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  160

                     17.6  The __str__ method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  161

                     17.7  Operator overloading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  161

                     17.8  Type-based dispatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  162

                     17.9  Polymorphism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  163

                     17.10 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  164
                     17.11 Interface and implementation . . . . . . . . . . . . . . . . . . . . . . . . . .  164

                     17.12 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  165

                     17.13 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  165


                  18 Inheritance                                                              167

                     18.1  Card objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  167

                     18.2  Class attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  168

                     18.3  Comparing cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  169

                     18.4  Decks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  170
                     18.5  Printing the deck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  171

                     18.6  Add, remove, shuffle and sort . . . . . . . . . . . . . . . . . . . . . . . . . .  171

                     18.7  Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  172

                     18.8  Class diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  173

                     18.9  Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  174

                     18.10 Data encapsulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  175

                     18.11 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  176
                     18.12 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  177
   15   16   17   18   19   20   21   22   23   24   25