This page is optimized for mobile devices, if you would prefer the desktop version just click here

0.4 Xna0106-encapsulation in c#  (Page 11/12)

Validating code

You can write whatever validating code is appropriate before assigning the incoming value to a private instance variable or perhaps storing it in a privatedata structure of some other type.

In this case, the value is accepted and stored in the private instance variable named heightData if it is less than 84 (the height in inches of a person that is seven feet tall). If the incoming value is greaterthan 83, it is not accepted and instead is flagged as invalid by storing 0 in the private instance variable.

A read-only property

You can omit the code on the set side if you need a read-only property.

Little more to say about this

There isn't much more that I can say to explain this syntax other than to tell you to memorize it. The code in Listing 5 causes the fourth line of text shown in Figure 1 to be displayed on the black screen.

Call manipulator method and display results

In addition to making it possible to set and get property values, objects often provide other public interface methods of varying complexity that make itpossible to manipulate the data stored in the object in a variety of ways. In those cases, the using programmer needs access to good documentation thatexplains the behavior of such manipulator methods.

Returning to the Main method, Listing 7 calls a manipulator method named doubleHeight (belonging to the object of type TargetClass ) that is designed to double the value of the height property. Then Listing 7 accesses and displays the new value of the height property.

Listing 7 . Call manipulator method and display results.

obj.doubleHeight(); Console.WriteLine("double height: " + obj.height);

A manipulator method named doubleHeight

Listing 8 shows the manipulator method named doubleHeight that is defined in the class named TargetClass .

Listing 8 . A simple manipulator method named doubleHeight.

public void doubleHeight(){ heightData *= 2;}//end doubleHeight //--------------------------------------------------//}//end TargetClass

The method multiplies the current value in the private instance variable that is used to store the property named height by a factor of two, stores the modified value back into the same variable, and returns void .

The code in Listing 7 causes the fifth line of text shown in Figure 1 to be displayed.

Listing 8 also signals the end of the class named TargetClass .

Set and get the property with an invalid value

Returning once more to the Main method, Listing 9 attempts to set an invalid value into the property named height .

Listing 9 . Set and get the property named height with an invalid value.

obj.height = 100; Console.WriteLine("height: " + obj.height);

Then it retrieves and displays the value currently stored in that property.

As you saw in Listing 6 , when an attempt is made to set a value greater than 83 in the property, a value of 0 is set in the property to flag it as invalid.

The code in Listing 9 causes the last line of text in Figure 1 to be displayed on the black screen.

Pause until the user presses any key

The last statement in the Main method, shown in Listing 10 , causes the program to block and wait until the user presses a key. This causesthe black screen to remain on the desktop until the user is finished viewing it.

<< Chapter < Page Page > Chapter >>

Read also:

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.
Jobilize.com uses cookies to ensure that you get the best experience. By continuing to use Jobilize.com web-site, you agree to the Terms of Use and Privacy Policy.