<< Chapter < Page Chapter >> Page >

From this superclass, you might derive a Balloon class and an Airplane class.

The Balloon class

The Balloon class might add variables and methods dealing with passenger capacity and what makes it go up (helium, hydrogen, or hot air) . Objects of the Balloon class would then be able to deal with altitude, range, passenger capacity, and what makes it go up.

The Airplane class

The Airplane class might add variables and methods dealing with engine type (jet or propeller) and cargo capacity. Objects of the Airplane class could then deal with altitude, range, engine type, and cargo capacity.

Three types of objects

Having created this hierarchy of classes, you could instantiate objects of type Airship , Balloon , and Airplane with the objects of each type having variables and methods to deal with those specialcharacteristics of the flying machine indicated by the name of the class.

From the general to the specialized

You may have noticed that in this hierarchical class structure, inheritance causes the structure to grow in a direction from most general to morespecialized. This is typical.

Single and multiple inheritance

C++ and some other object-oriented programming languages allow for multiple inheritance. This means that a new class can extend more than one superclass.This has advantages in some cases, but can lead to difficulties in other cases.

ActionScript 3 does not support multiple inheritance. Instead it supports a different mechanism called an interface that provides most of the benefits of multiple inheritance without most of the problems. I willexplain the ActionScript interface in a future lesson.

The ISA relationship

You will sometimes hear people speak of the ISA relationship when discussing OOP. The source of this terminology is more fundamental than you mayat first suspect.

Object-oriented designers often strive to use inheritance to model relationships where a subclass "is a kind of" the superclass. For example, a car "is a kind of" vehicle. A programmer "is a kind of" employee which in turn "is a kind of" person.

This relationship is called the ISA relationship. It's that simple.

Preview

Assume that you are working on children's games. You probably don't want to use buttons that cause your game program to look like a businessprogram. Instead, you might prefer to use bright-colored buttons that look like animals, flowers, or other child-pleasing objects such as butterflies andfrogs. (See Figure 1 for example.)

Characteristics in common

On the other hand, you want your buttons to exhibit all of the functionality of the standard ActionScript Button class. In other words, you want your new buttons to have many characteristics in common with the ActionScript Button class.

A new class may not be required. -- It is probably also possible to accomplish this using embeddedActionScript code, but I will go the class definition route to illustrate inheritance and to produce a "cleaner" solution.

Inheritance to the rescue

As it turns out, this is easy to accomplish by defining an ActionScript class for each of your new button types.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with actionscript. OpenStax CNX. Jun 04, 2010 Download for free at http://cnx.org/content/col11202/1.19
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with actionscript' conversation and receive update notifications?

Ask