0

How can I create a "Class" in Io language?

For example, I want to try the following:

Dog pd

barry := Dog new("Barry")
    
barry pd 

barry name println                // Attribute of the class 
barry allFoodItemsEaten println   // Attribute of the class 
     

lisa := Dog new("Lisa")

barry feed(12)                    // A Method
   

lisa feedSummary                 // A Method         

I know there are no classes in Io but I want to implement one. Any suggestions of how to implement that?

Shaco
  • 1
  • 1

1 Answers1

1

I know there are no classes in Io but I want to implement one.

There's your issue. You cannot create classes, you can only clone existing objects. In your case, one solution could be

Dog := Object clone  // Create a Dog object
Dog name := nil  // Abstract name attribute

You can create "instances" of this "class" by cloning it further

barry := Dog clone
barry name = "barry"

etc.

Lucas
  • 362
  • 2
  • 12