Project

Contacts (Kotlin)

Challenging
269 completions
~ 29 hours
4.0

You will learn the essential basics of object-oriented programming: encapsulation, inheritance and polymorphism. Inheritance will allow you to write code that can perform the same process but for different objects. Polymorphism helps to initiate different processes for different objects by using the same method. You’ll also learn to prevent other users of your code to modify the variables using encapsulation.

Provided by

JetBrains Academy JetBrains Academy

About

Here is something you probably use regularly: contacts. In this project, you will write a program to create contacts (like on the mobile phone) and search for people or organizations by name.

Graduate project icon

Graduate project

This project covers the core topics of the Kotlin Core course, making it sufficiently challenging to be a proud addition to your portfolio.

At least one graduate project is required to complete the course.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
Working with encapsulation and regular expressions, create a menu that will allow to add and edit contacts.
With the help of inheritance mechanism, add the ability to specify details in your contacts (for example, gender) and to create contacts and addresses of organizations.
Get familiar with polymorphism and built-in functions: fix your code and make it possible to search for contacts.

Reviews

Womix avatar
Womix
6 months ago
I improved my OOP skills and finally found out where inheritance and polymorphism can be adequately applied. I also learned about Generetics and improved my understanding of Regex.
Markus Lang
6 months ago
For un/marshalling of children of abstract classes you need to perform special steps with moshi
Oleksandr Shkuropat avatar
Oleksandr Shkuropat
6 months ago
During this project, I learned how to apply core OOP principles in Kotlin, such as inheritance, encapsulation, and polymorphism. I also gained experience with regular expressions and input validation logic, especially for phone number formats. The most challenging part was implementing the flexible ...

4.0

Learners who completed this project within the Kotlin Core course rated it as follows:
Usefulness
4.5
Fun
4.0
Clarity
3.6