The Root of all Classes: Object
All
C# classes, of any type, are treated as if
they ultimately derive from System.Object
.
Interestingly, this includes value types!
A base class is the immediate “parent” of a derived
class. A derived class can be the base to further derived classes,
creating an inheritance “tree” or hierarchy. A root class
is the topmost class in an inheritance hierarchy. In C#, the root
class is Object
. The nomenclature is a bit
confusing until you imagine an upside-down tree, with the root on top
and the derived classes below. Thus, the base class is considered to
be “above” the derived class.
Object
provides a number of methods that
subclasses can and do override. These include Equals( )
to determine if two objects are the same, GetType( )
, which returns the type of the object (discussed in Chapter 18), and ToString( )
, which
returns a string to represent the current object (discussed in Chapter 10). Table 5-1 summarizes the
methods of Object
.
Table 5-1. The methods of Object
Method |
What It Does |
---|---|
|
Evaluates whether two objects are equivalent. |
|
Allows objects to provide their own hash function for use in collections (see Chapter 9). |
|
Provides access to the type object (see Chapter 18). |
|
Provides a string representation of the object. |
|
Cleans up nonmemory resources (see Chapter 4). |
|
Creates copies of the object; should never be implemented by your type. |
Get Programming C# now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.