Overriding Methods - What is Wrong?


#1

Oops, try again. It looks like you didn't update the condition of my_car to 'like new'.

class Car(object):
    condition = "new"
    def __init__(self, model, color, mpg):
        self.model = model
        self.color = color
        self.mpg   = mpg
        
    def display_car(self):
        print "This is a %s %s with %s MPG." % (self.color,self.model,str(self.mpg)) 
        
    def drive_car(self):
        self.condition = "used"
        
my_car = Car("DeLorean", "silver", 88)
print my_car.condition
my_car.drive_car()
print my_car.condition

class ElecticCar(Car):
    def __init__ (self, battery_type):
         Car.__init__(self,model,color,mpg)    
         self.battery_type = battery_type         
         
    def drive_car(self):
        self.condition = "like new"      

my_car = ElectricCar("molten salt", "DeLorean", "silver", 88)  
print my_car.condition
print my_car.battery_type

print my_car.model
print my_car.color
print my_car.mpg
my_car.drive_car()
print my_car.condition

new
molten salt
DeLorean
silver
88
used
None


#2

One thing is that I notices you misspelled ElectricCar


#3

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.