Creating your own classes
Classes describe the behavior of objects. It is nice to learn that the standard types that come with Crystal are, for the most part, just ordinary classes you could have implemented on your own. Also, your application will need some more specialized classes, so let's create them.
New classes are created with the class
keyword, followed by the name and then the definition of the class. The following a minimal example:
class Person end person1 = Person.new person2 = Person.new
This example creates a new class named Person
and then two instances of this class – two objects. This class is empty – it doesn't define any method or data, but Crystal classes come with some functionality by default:
p person1 # You can display any object and # inspect it p person1.to_s # Any object can be transformed into # a String p person1 == person2 ...