<< Chapter < Page Chapter >> Page >

A large library of classes

As an object-oriented programmer, you will typically have access to a large library of existing classes from which you can construct different types ofsoftware objects, such as buttons, sliders, etc. For example, you will find links to the various XNA classes here .

Classes of your own design

In addition, you will often need to design and define new classes from which you can construct new types of objects.

Why should you care about OOP?

You need to care about OOP because the language of XNA is C# and C# is an object-oriented programming language. It is not possible to write a C# programwithout dealing with the object-oriented nature of the language.

For most humans, it is also not possible to write credible XNA programs without frequent reference to the XNA documentation. Although the use of the XNA framework willshield you from some of the difficulties of object-oriented programming, you will still have both feet in the OOP sandbox as soon as you consult thedocumentation.

The XNA documentation package is huge

For example, the XNA Framework Class Library lists about a dozen namespaces (over and above the namespaces in the standard C# library) .

One of those namespaces is named Microsoft.Xna.Framework.Graphics . That namespace lists about 175 different classes.

One of those classes is the SpriteBatch class. The SpriteBatch class lists several members including one constructor, four public properties, nine publicmethods, two protected methods, and one event.

The SpriteBatch class is probably one of the most commonly used classes in the XNA framework so you will need to be able to understand thedocumentation for all or at least most of the members of that class.

The good news

The good news is that the documentation also provides numerous code samples and explanatory notes to help you use the documentation to write your codecorrectly.

Three important concepts

Any object-oriented language must support three very important concepts:

  • Encapsulation
  • Inheritance
  • Polymorphism

We use these three concepts extensively as we attempt to model the real-world problems that we are trying to solve with our object-oriented programs. I willprovide brief descriptions of these concepts in this module and then explain each concept in detail in future modules.

Encapsulation example

Consider the steering mechanism of a car as a real-world example of encapsulation. During the past eighty years or so, the steering mechanism forthe automobile has evolved into an object in the OOP sense.

Only the interface is exposed

In particular, most of us know how to use the steering mechanism of an automobile without having any idea whatsoever how it is implemented. All most ofus care about is the interface, which we refer to as a steering wheel. We know that if we turn the steering wheel clockwise, the car will turn to the right,and if we turn it counterclockwise, the car will turn to the left.

How is it implemented?

Most of us don't know, and don't really care, how the steering mechanism is actually implemented "under the hood." In fact, there are probably a number ofdifferent implementations for various brands and models of automobiles. Regardless of the brand and model, however, the human interface is pretty muchthe same. Clockwise turns to the right, counterclockwise turns to the left.

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