Object Oriented Design and Classes Exercises 1 Design
Object Oriented Design and Classes
Exercises 1. Design a phone book program. Your program should keep track of the name and phone number of your contacts. You should be able to add new contacts to your phone book and view your phone book.
What is a class? • Programming mechanism to support OOD • Data and the methods that operate on that data – collectively called members – Example: bank account class • Provide structure for organizing programs
Methods • Methods operate on data – accessors – read data, provide access to data but do not change it – mutators – change data • examples from bank account, zoo – constructor – builds a new object • An object in an instance of a class – class is a blueprint for objects
Bank. Account Class class Bank. Account: def __init__(self, initial_balance): self. balance = initial_balance def deposit(self, amount): self. balance += amount def withdraw(self, amount): self. balance -= amount def check. Balance(self): print "Balance: ", self. balance
Bank. Account Class def __init__(self, initial_balance): self. balance = initial_balance • __init__ method is the constructor • Used to initialize members of the object • First parameter is self – the object on which the method/constructor is called • Use dot notation (. ) to reference members of the object
Bank. Account Class def deposit(self, amount): self. balance += amount def withdraw(self, amount): self. balance -= amount • Deposit and withdraw are mutators – they modify the data member balance • First parameter is self • Like functions, methods can take any number of parameters
Bank. Account Class def check. Balance(self): print "Balance: ", self. balance • check. Balance does not modify data members
Creating and Using Objects b = Bank. Account(500) //Name = Type(constructor parameters)
Creating and Using Objects b = Bank. Account(500) //Name = Type(constructor parameters) //how would you withdraw funds? b. withdraw(500) //object_name. method_name(params)
Composing Objects • An object can have a reference to another object class Name: def __init__(self, first, last): self. first = first self. last = last def print. Name(self): print "Name: ", self. first, " ", self. last class Employee: def __init__(self, first, last, pay): self. name = Name(first, last) self. pay = pay def print. Employee(self): self. name. print. Name() print "t. Pay rate: ", self. pay
Exercises • Implement your phone book program.
- Slides: 12