Lesson 13 - Overloading operators and other useful syntax in Swift
In the previous lesson, Type casting and object hierarchy in Swift, we talked about interfaces.
While the previous lessons may have been considered necessary for you to actually create something in Swift, this is rather a complementary lesson and you could even skip it. On the other hand, it's not long and knowing about these options might be useful for you.
Operator overloading
You have for sure encountered operators such as +
,
-
or *
in programming. We use them to perform
numerical math operations. Under the hood, operators are special functions. They
are defined for numbers, but we can easily define them for any of our custom
type (i.e. structure or class). It's simply a method whose name is the given
operator.
This may sometimes be useful. However, you can, of course, name the method as
e.g. add()
sum up two instances in it and return the result,
avoiding using the +
operator at all.
As an example, we can use a Point
struct, which represents a
point in the 2D space with x
and y
coordinates. The
struct declaration looks as follows:
struct Point { var x: Int var y: Int }
When frequently used, it would make sense to create an operator for adding
two points. Even using this syntax will be more clear. Therefore, we'll declare
the +
operator to the point as its static method:
...End of the preview...
Continue further
You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.
Buy this course
This article is licensed: Premium II, by buying this article, you agree with the terms of use.
- Unlimited and permanent access to individual lessons.
- High quality IT knowledge.
- Skills to help you get your dream and well-paid job.
Article description
Requested article covers this content:
We'll show you how to define operators for custom types, including custom operators, and a few more useful things in Swift.
You gain credits by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.