The root class from which most classes are subclassed.
CPObject is the root class for most Cappuccino classes. Like in Objective-C, you have to declare parent class explicitly in Objective-J, so your custom classes should almost always subclass CPObject or one of its children.
CPObject provides facilities for class allocation and initialization, querying runtime about parent classes and available selectors, using KVC (key-value coding).
When you subclass CPObject, most of the time you override one selector - init. It is called for default initialization of custom object. You must call parent class init in your overridden code:
- (id)init
{
self = [super init];
if (self) {
... provide default initialization code for your object ...
}
return self;
}
One more useful thing to override is description(). This selector
is used to provide developer-readable information about object. description
selector is often used with CPLog debugging:
<pre>- (CPString)description
{ return [CPString stringWithFormat:"<SomeClass d>", someValue]; } To get description value you can use %@ specifier everywhere where format specifiers are allowed:
var inst = [[SomeClass alloc] initWithSomeValue:10];
CPLog("Got some class: %", inst);
would output:
Got
some
class:
<SomeClass
10>
Definition at line 69 of file CPObject.j.