<< Chapter < Page Chapter >> Page >

In OOP lingo, that teenager extends the existing engine, derives from the existing engine, inherits from the existing engine, or subclasses the existing engine (depending on which author is describing the process) .

Just like in "souping up" an engine for a hotrod, a very common practice in OOP is to create new improved objects by extending existing classdefinitions.

Reuse, don't reinvent

One of the major arguments in favor of OOP is that it provides a formal mechanism that encourages the reuse of existing programming elements. One of themottos of OOP is "reuse, don't reinvent."

Polymorphism example

A third important aspect of OOP is polymorphism . This is a Greek word meaning something like one name, many forms . This is a little more difficult to explain in non-programming terminology. However, we will stretchour imagination a little and say that polymorphism is somewhat akin to the automatic transmission in your car. In my Honda, for example, the automatictransmission has four different methods or functions known collectively as Drive (in addition to the functions of Reverse, Park, and Neutral) .

Select Drive to go forward

As an operator of the automobile, I simply select Drive (meaning go forward) . Depending on various conditions at runtime , the automatic transmission system decides which version of the Drive function to use in every specific situation. The specific version of the function that is used is based on the current conditions (speed, incline, etc.) . This is somewhat analogous to what we will refer to in a subsequent tutorial lesson as runtime polymorphism .

Object-oriented programming vocabulary

OOP involves a whole new vocabulary (or jargon) which is different from or supplemental to the vocabulary of procedural programming.

For example the object-oriented programmer defines an abstract data type by encapsulating its implementation and its interface into a class .

One or more instances of the class can then be instantiated .

An instance of a class is known as an object .

Every object has state and behavior where the state is determined by the current values stored in the object's instance variables and the behavior is determined by the instance methods of the class from which the object was instantiated .

Inherited abstract data types are derived classes or subclasses of base classes or super classes . We extend super classes to create subclasses .

Within the program, the code instantiates objects (creates instances of classes) and sends messages to the objects by invoking or calling the class's methods (or member functions) .

If a program is "object oriented", it uses encapsulation , inheritance , and polymorphism . It defines abstract data types , encapsulates those abstract data types into classes , instantiates objects , and sends messages to the objects .

To make things even more confusing, almost every item or action used in the OOP jargon has evolved to be described by several different terms. For example,we can cause an object to change its state by sending it a message , calling its methods , or calling its member functions . The term being used often depends on the author who wrote the specific book that you happen tobe reading at the time.

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