How to Create a Class
To create a class,
you write a class definition,
with all the member variables and methods.
For the class animal
,
which we have used above,
the class definition may look like this:
class animal
{
string name;
float weight;
void create(string n, float w)
{
name = n;
weight = w;
}
void eat(string food)
{
write(name + " eats some " + food + ".\n");
weight += 0.5;
}
}
Some explanations about this:
A member variable, such as
name
, exists once in each cloned object, not in the class itself.When a method, such as
eat
, refers to a member variable, such asweight
, it will use that variable in the same object that it was called for. For example, when we callmy_dog->eat("quiche")
, it is theweight
in the objectmy_dog
that is increased.The method
create
is special. This method that handles the arguments that you give when you clone an object. (C++ programmers would call this a “constructor”.)You can also have a method called
destroy
. This method is what C++ programmers would call the “destructor”, i e a method that is run just before the object disappears. A destructor is sometimes needed for cleanup, but much more seldom in Pike than in C++, since Pike has automatic garbage collection.