Programming in Kotlin: Functions & Custom Types
Apr 21 2020 · Video Course (2 hrs, 59 mins) · Beginner
Take a deeper look at the Kotlin programming language! Explore the intricacies of functions, lambdas, classes, objects, interfaces, and more.
Version
- Kotlin 1.3, IntelliJ IDEA 2019.3


Lambdas & Higher-Order Functions
Welcome to Programming in Kotlin: Functions and Custom Types! In this episode, find out what this course has in store for you.
Review some fundamentals about how functions and lambdas work, as well as their various syntax options.
Find out about how lambdas capture data and how they relate to the concept of higher-order functions.
forEach & map
7:19Find out how writing lambdas can help you handle collections with two common alternatives to for loops: forEach and map!
Practice what you have learned about using lambdas and collections with this series of hands-on coding challenges.
Conclusion
5:55Review what you've learned so far, and use six higher-order functions in a row in this fast-paced Part 1 finale!
Properties & Methods
Introduction
0:40In this part of the course, you'll study some features shared by named types in Kotlin: properties and methods!
Custom Accessors
9:17In this episode, learn about a different kind of property that is recomputed every time it is accessed.
Companion Objects
7:41Companion objects are Kotlin's answer to static members. In this episode, find out what they can do for your custom types.
Practice everything you have learned about properties with custom accessors, and using companion objects.
Delegated Properties
9:20Learn how to use delegated properties to observe property changes, delay the initialization of a property, and more!
Practice using what you've learned about different kinds of delegated properties in this series of hands-on challenges.
Methods
4:29Take another look at methods in Kotlin. Learn when to reach for a method, or turn to property accessors.
Kotlin uses extension properties and methods to let you augment a type without changing the class definition.
Practice using everything you have learned about methods and extension properties and methods with hands-on challenges.
Conclusion
1:07Review what you learned about properties and methods in this part of the course, and find out what's up next.
Class Inheritance & Interfaces
Introduction
1:08In this part of the course, learn how to use subclassing and interface adoption to let types inherit functionality.
Class Inheritance
8:21Learn about an important and powerful feature of classes that lets one class inherit functionality from another class.
Overriding
5:17When working with a class hierarchy, subclasses can have their own implementations of a parent's properties and methods.
Polymorphism
5:50Depending on the context, a subclass can be treated as its own type, or, as one of its superclasses.
Constructors & Init
6:14Learn how to use primary and secondary constructors, and how subclassing affects class initialization.
Challenge: Classes
9:01Practice using all of the things you've learned about classes so far in this open-ended, hands-on challenge!
Interfaces
11:49Learn how to make your types conform to interfaces in Kotlin, which you can think of as a to-do list for your types.
Practice using interfaces instead of class inheritance in the final challenge of this part of the course.
Class Considerations
3:05In this episode, learn five things to consider when you're trying to decide between subclassing and using an interface.
Conclusion
0:51Review the key points you've learned about class inheritance and interfaces, and check out what's next.
Objects, Enum Classes, & Sealed Classes
Introduction
0:27Ready to learn about some specialized types in Kotlin: Objects, Enum Classes, and Sealed Classes? Let's dive in!
Objects
5:11Kotlin introduces a new keyword that is unavailable in the other languages to which it is often compared.
Enum Classes
6:32Learn how to use Enum Classes to represent a specific set of related, discrete values like days of the week!
Enum Classes & When
3:30One of the most powerful features of Enum Classes in Kotlin is how they combine with the when expression.
Practice everything you've learned about Enum Classes and when expressions in this hands-on challenge.
Sealed Classes
6:57A Sealed Class is a special type of class that combine aspects of Enum Classes, class inheritance, and interfaces.
Challenge time! Practice using Sets to store unique pieces of data by solving this challenge.
Conclusion
0:48Congratulations on finishing the course - you've learned a ton of new Kotlin concepts! In this episode, find out where to go next to continue your journey.
Who is this for?
This course is part of our Android and Kotlin for Beginners learning path. You're ready for this course if you're working through that learning path in order, or you're someone who has some experience programming in Kotlin.
To start, you'll review some function and lambda fundamentals. You'll also practice writing lambdas and using them to manipulate collections.
Then, you'll move on to build your skills in writing custom types: classes, interfaces, enum classes, and more. You'll learn about features they share, and some of the functionality that makes each unique.
Throughout the course, you'll practice everything you learn with hands-on challenges. Ready? Let's get started!
This course isn’t suited for advanced developers. If that’s you, check out our intermediate or advanced video courses for more ways to level-up your developer skills!
Covered concepts
- Lambdas
- Higher-Order Functions
- Custom Accessors
- Delegated Properties
- Methods
- Companion Object Properties & Methods
- Extension Properties & Methods
- Class Inheritance
- Polymorphism
- Constructors
- Interfaces
- Objects
- Enum Classes
- When Expressions
- Sealed Classes
Comments