Problem is distinguishing overriding and overloading !
<p>I have two classes in python
1)Drunk
2)Usual Drunk</p>

<p>The usual drunk class inherits from the drunk and provides a new implementation for its move method as shown below</p>

<pre><code>class Drunk:
    def __init__(self,name):
        self.name = name
    def move(self,field,cp,dist=1):
        if field.getDrunk().name!= self.name:
            raise ValueError('Drunk not in the field!')
        for i in range(dist):   
            #pt = CompassPt(random.choice(CompassPt.possibles))
            field.move(cp,1)

class UsualDrunk(Drunk):
    def move(self,field,dist=1):
        cp = random.choice(CompassPt.possibles)
        Drunk.move(self,field,CompassPt(cp),dist)
</code></pre>

<p>Now the usual drunk class has two methods named move but with different paprameters .So in this scenario is it overriding or overloading?</p>
