0
0
Kotlinprogramming~5 mins

Factory pattern with companion objects in Kotlin - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is the Factory pattern in Kotlin?
The Factory pattern is a way to create objects without exposing the creation logic to the client. It uses a method to return instances, making object creation flexible and centralized.
Click to reveal answer
beginner
What is a companion object in Kotlin?
A companion object is a special object inside a class that allows you to define methods and properties tied to the class itself, similar to static members in other languages.
Click to reveal answer
intermediate
How does the Factory pattern use companion objects in Kotlin?
In Kotlin, the Factory pattern often uses companion objects to hold factory methods. This lets you create instances by calling methods on the class itself, keeping creation logic inside the class.
Click to reveal answer
intermediate
Example: What does this Kotlin code do?
<pre>class Car private constructor(val type: String) {
  companion object {
    fun createSedan() = Car("Sedan")
    fun createSUV() = Car("SUV")
  }
}</pre>
This code defines a Car class with a private constructor, so it can't be created directly. The companion object has factory methods createSedan() and createSUV() that create Car instances of specific types.
Click to reveal answer
intermediate
Why use a private constructor with a companion object factory in Kotlin?
Using a private constructor prevents direct creation of objects. The companion object factory methods control how objects are made, ensuring consistent and safe creation.
Click to reveal answer
What keyword makes a constructor private in Kotlin to support the Factory pattern?
Aprivate
Bprotected
Cinternal
Dpublic
Where are factory methods typically placed in Kotlin when using the Factory pattern?
AIn interface declarations
BIn separate utility classes
CInside companion objects
DIn the main function
What is the main benefit of using the Factory pattern with companion objects?
AMakes all properties mutable
BAutomatically generates getters and setters
CAllows multiple inheritance
DCentralizes object creation logic
How do you call a factory method named createSedan in a companion object of class Car?
Anew Car.createSedan()
BCar.createSedan()
CcreateSedan.Car()
DCar().createSedan()
What happens if the constructor is not private in a Factory pattern?
AObjects can be created directly, bypassing factory methods
BFactory methods won't work
CThe class becomes abstract
DThe compiler throws an error
Explain how the Factory pattern works with companion objects in Kotlin.
Think about how you hide the constructor and provide special methods to create objects.
You got /4 concepts.
    Describe the benefits of using a private constructor with companion object factory methods.
    Why would you want to stop people from making objects any way they want?
    You got /4 concepts.