You know, you're quoting an article that gives us reason, right?
Is Subtype Polymorphism, what you're confusing by Object Oriented programming?
An example of subtype polymorphism, the good old shape example(I have a Pascal(aka old) programming book with that example ^^)
Language is Python, because it's the closest thing to pseudo-code...
Class Shape(object):
def getArea(self):
pass
class Square(Shape):
def getArea(self):
return self.side ** 2)
class Circle(Shape):
def getArea(self):
return math.pi *self.radius ** 2
Since any shape can have his area measured, it makes sense, that the Shape class has a getArea method. But you can't determine the area of any random shape, by the same method, so you use different methods, with the same goal...