TL ; DR:
An object is an instance of a class — a real, usable copy made from the blueprint.
You create one by calling the class name like a function:
val rex = Dog()
Each call to
Dog()creates a separate object, even if they all come from the same class.
Full lesson:
In the previous lesson you defined the Dog class — the blueprint. But a blueprint isn't a dog. To get an actual dog you can interact with, you need to create an instance of the class. An instance is also called an object.
Calling the class
To create a new object in Scala 3, write the class name followed by parentheses. (Older Scala code puts the new keyword in front, as in new Dog(); that still works.)
val rex = Dog()
What this line does:
Dog()creates a freshDogobject on the heap.val rexdeclares a value namedrexthat holds a reference to that object.The
=connects the two —rexnow refers to the freshly-created dog.
Many objects from one class
You can call Dog() as many times as you want, and each call gives you a brand-new, independent object:
val rex = Dog()
val buddy = Dog()
val luna = Dog()
rex, buddy, and luna are all Dog objects, but they're different objects. Changing one won't affect the others — they share the blueprint but live their own lives.
Your task
The Dog class is already defined for you. Inside mainFunction, create three separate Dog objects named rex, buddy, and luna. The pre-filled checks will confirm:
rex exists
buddy exists
luna existsFree plan: 30 tutor messages. PRO is unlimited.
