<< Chapter < Page
  Xna game studio     Page 3 / 12
Chapter >> Page >

A new type

For our purposes, an abstract data type is a new type (not intrinsic to the C# language). It is not one of the primitive data types that are built into theprogramming language such as sbyte , short , int , long , float , double , etc.

Already known to the compiler

The distinction in the previous paragraph is very important. The data representation and behavior of the intrinsic or primitive types is already knownto the compiler and cannot normally be modified by the programmer.

Not known to the compiler

The representation and behavior of an abstract type is not known to the compiler until it is defined by the programmer and presented to the compiler inan appropriate manner.

Define data representation and behavior in a class

C# programmers define the data representation and the behavior of a new type (present the specification to the compiler) using the keyword class . In other words, the keyword class is used to convert the specification of a new type into something that the compiler can work with; aset of plans as it were. To define a class is to go from the abstract to the concrete.

Create instances of the new type

Once the new type (class) is defined, one or more objects of that type can be brought into being (instantiated, caused to occupy memory).

Objects have state and behavior

Once instantiated, the object is said to have state and behavior . The state of an object is determined by the current values of the data that itcontains. The behavior of an object is determined by its methods.

The state and behavior of a GUI Button object

For example, if we think of a GUI Button as an object, it is fairly easy to visualize the object's state and behavior.

A GUI Button can usually manifest many different states based on size, position, depressed image, not depressed image, label, etc. Eachof these states is determined by data stored in the instance variables of the Button object at any given point in time. (The combination of one or more instance variables that determine a particular state is oftenreferred to as a property of the object.)

Similarly, it is not too difficult to visualize the behavior of a GUI Button. When you click it with the mouse, some specific action usually occurs.

A C# class named Button

If you dig deeply enough into the C# class library , you will find that there is a class named Button in the System.Windows.Forms namespace. Each individual Button object in a C# Windows Forms Application is an instance of the C# class named Button . A Button object has a single constructor, dozens of methods, dozens of properties, and dozens of events.

The state of Button objects

Each Button object has instance variables, which it does not share with other Button objects. The values of the instance variables define the state of the button at any given time. Other Button objects in the same scope can have different values in their instance variables.Hence every Button object can have a different state.

The behavior of a Button object

Each Button object also has certain fundamental behaviors such as responding to a mouse Click event or responding to a GotFocus event.

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