Swift allows us to define a method with the same name many times with different arguments. This feature is known as method overloading. In some cases, as in our previous example, we can overload the designated initializer. However, it is very important to mention that a similar effect might be achieved with optional parameters or default values for specific arguments.
For example, we can take advantage of method overloading to define multiple versions of the
bark method that we have to define in the
Dog class. However, it is very important to avoid code duplication when we overload methods.
Sometimes, we define a method in a class, and we know that a subclass might need to provide a different version of the method. ...