Io Language Create Class

72 Views Asked by At

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?

1

There are 1 best solutions below

0
Lucas On

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.