<< Chapter < Page Chapter >> Page >

Discussion and sample code

The class named A

Listing 1 defines a class named A, which explicitly extends the class named Object .

(Recall that classes extend Object by default. It is not necessary to explicitly show that a class extends Object . I showed that here simply to remind you that all classes in C# are rooted in the class named Object .)

Listing 1 . Definition of class A.

using System; class A : Object {//This class is empty }//end class A

Does not override the ToString method

The most important thing to note about the class named A is that it does not override any of the methods that it inherits from the classnamed Object .

Therefore, it inherits the default version of the method named ToString from the class named Object .

(We will see an example of the behavior of the default version of that method shortly.)

The class named B

Listing 2 defines the class named B . This class extends the class named A .

Listing 2 . Definition of class B.

class B : A { public override String ToString() {return "ToString in class B"; }//end overridden ToString()}//end class B

Overrides the ToString method

Of particular interest, (for purposes of this module) , is the fact that the class named B overrides the inherited ToString method.

It inherits the default version of the ToString method, because its superclass named A , which extends Object , does not override the ToString method.

Purpose of the ToString method

The purpose of the ToString method is to return a reference to an object of the class String that represents an object instantiated from a class that overrides the method.

Here is part of what Microsoft has to say about the ToString method:

"This method returns a human-readable string that is culture-sensitive. For example, for an instance of the Double class whose value is zero, the implementation of Double.ToString might return "0.00" or "0,00" depending on the current UI culture."

Can be overridden

The ToString method can be overridden in a subclass to return values that are meaningful for that type. Again, according to Microsoft:

"For example, the base data types, such as Int32, implement ToString so that it returns the string form of the value that the object represents."

Behavior of the default and overridden versions

The default implementation of the ToString method, as defined in the Object class, returns the fully qualified name of the type of the object.

I didn't override the ToString method in the class named A , but I did override it in the class named B , which is a subclass of A .

The behavior of my overridden version of the method in the class named B returns a reference to a String object, containing text that indicates that the overridden version of the method in theclass named B has been executed.

Will be useful later

The reference to the String object returned by the overridden version of the method will prove useful later when we need todetermine which version of the method is actually executed.

The class named C

Listing 3 shows the definition of a class named C, which extends the class named B , and overrides the method named ToString again.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Xna game studio. OpenStax CNX. Feb 28, 2014 Download for free at https://legacy.cnx.org/content/col11634/1.6
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Xna game studio' conversation and receive update notifications?

Ask