Содержание курса
Programming Basics
15 уроков
1.
Introduction
↗
2.
Why Kotlin?
↗
3.
Hello, World
↗
4.
var & val
↗
5.
Data Types
↗
6.
Functions
↗
7.
if Expressions
↗
8.
String Templates
↗
9.
Number Types
↗
10.
Booleans
↗
11.
Repetition with while
↗
12.
Looping & Ranges
↗
13.
The in Keyword
↗
14.
Expressions & Statements
↗
15.
Summary 1
↗
Introduction to Objects
14 уроков
1.
Objects Everywhere
↗
2.
Creating Classes
↗
3.
Properties
↗
4.
Constructors
↗
5.
Constraining Visibility
↗
6.
Packages
↗
7.
Testing
↗
8.
Exceptions
↗
9.
Lists
↗
10.
Variable Argument Lists
↗
11.
Sets
↗
12.
Maps
↗
13.
Property Accessors
↗
14.
Summary 2
↗
Usability
14 уроков
1.
Extension Functions
↗
2.
Named & Default Arguments
↗
3.
Overloading
↗
4.
when Expressions
↗
5.
Enumerations
↗
6.
Data Classes
↗
7.
Destructuring Declarations
↗
8.
Nullable Types
↗
9.
Safe Calls & the Elvis Operator
↗
10.
Non-Null Assertions
↗
11.
Extensions for Nullable Types
↗
12.
Introduction to Generics
↗
13.
Extension Properties
↗
14.
break & continue
↗
Functional Programming
11 уроков
1.
Lambdas
↗
2.
The Importance of Lambdas
↗
3.
Operations on Collections
↗
4.
Member References
↗
5.
Higher-Order Functions
↗
6.
Manipulating Lists
↗
7.
Building Maps
↗
8.
Sequences
↗
9.
Local Functions
↗
10.
Folding Lists
↗
11.
Recursion
↗
Object-Oriented Programming
18 уроков
1.
Interfaces
↗
2.
Complex Constructors
↗
3.
Secondary Constructors
↗
4.
Inheritance
↗
5.
Base Class Initialization
↗
6.
Abstract Classes
↗
7.
Upcasting
↗
8.
Polymorphism
↗
9.
Composition
↗
10.
Inheritance & Extensions
↗
11.
Class Delegation
↗
12.
Downcasting
↗
13.
Sealed Classes
↗
14.
Type Checking
↗
15.
Nested Classes
↗
16.
Objects
↗
17.
Inner Classes
↗
18.
Companion Objects
↗
Preventing Failure
6 уроков
1.
Exception Handling
↗
2.
Check Instructions
↗
3.
The Nothing Type
↗
4.
Resource Cleanup
↗
5.
Logging
↗
6.
Unit Testing
↗
Power Tools
9 уроков
1.
Extension Lambdas
↗
2.
Scope Functions
↗
3.
Creating Generics
↗
4.
Operator Overloading
↗
5.
Using Operators
↗
6.
Property Delegation
↗
7.
Property Delegation Tools
↗
8.
Lazy Initialization
↗
9.
Late Initialization
↗
Appendices
2 урока
1.
AtomicTest
↗
2.
Java Interoperability
↗