<< Chapter < Page Chapter >> Page >

Create and populate an array holding references to audio objects

Listing 2 begins by creating an array capable of holding references to eight audio objects instantiated from subclasses of the AudioSignalGenerator02 class. Note that the type of each element in this array is AudioSignalGenerator02 .

Then Listing 2 populates the array elements with references to eight different audio objects instantiated from those classes. Even though an object may beinstantiated from the class named FMSweep , for example, that object's reference is being stored as type AudioSignalGenerator02 .

Listing 2 . Create and populate an array holding references to audio objects.
AudioSignalGenerator02[] audioObjects = new AudioSignalGenerator02[8];audioObjects[0] = new AudioGraphSinusoidal(audioParams,this.args,melody);audioObjects[1] = new AudioGraphSquareWave(audioParams,this.args,melody);audioObjects[2] = new FMSweep(audioParams,this.args,melody);audioObjects[3] = new SquareWave(audioParams,this.args,melody);audioObjects[4] = new StereoPingpong(audioParams,this.args,melody);audioObjects[5] = new ToneMono(audioParams,this.args,melody);audioObjects[6] = new TonesStereo(audioParams,this.args,melody);audioObjects[7] = new WhiteNoise(audioParams,this.args,melody);

Override an inherited abstract method

The abstract class named AudioSignalGenerator02 declares an abstract method named getMelody . Each subclass of the abstract class must define a concrete version of (override) the inherited abstract method or the subclass itself be declared abstract.

All eight of the subclasses listed in Listing 2 override the getMelody method. The behavior of each overridden version of the method is significantly different from one class to the next.

When the getMelody method is called on a reference to a subclass object that is stored as the superclass type, the resulting behavior isthat of the subclass method and not that of the superclass method. That is runtime polymorphism.

Call the getMelody method on a subclass object selected at random

Listing 3 selects a reference to an audio object at random and calls the getMelody method on the object. As in previous modules, the reference to the byte array returned by the method is saved in the byte[] variable named melody . Unlike before, however, at this point, we don't know what melody was saved there. We only know thatit will be one of eight possible melodies and we won't know which one until we actually play the melody. (At least that would be true if the code in Listing 3 didn't access and print the type of the object pointed to by the random index.)

Listing 3 . Call the getMelody method on a subclass object selected at random.
Random randomGenerator = new Random(); int randomIndex = randomGenerator.nextInt(8);System.out.println("randomIndex = " + randomIndex); System.out.println(audioObjects[randomIndex].getClass());melody = audioObjects[randomIndex].getMelody();

Some new melodies

The following melodies are new to this module:

Questions & Answers

what is a market demand schedule
Blessed Reply
What is demand curve
mohamed Reply
Types of demand curve
mohamed
demand curve is a showing the aggregate of demand whether falling from right to the left in the table above
BULAMA
demand curve is the graphical representation of various quantities of a commodity bought at various prices
Blessed
What is the formula for calculating elasticity
Hafsat Reply
what is demand
Anefor Reply
demand is the quantity of commodity that consumers wil be able and wiling to buy at a given price at a given time
Delly
what is international trade?
Friday Reply
it is the exchange of goods and services across international borders.
Tweneboah
what is taxation
Eunice Reply
the definition of economic by Adam Smith
Geon Reply
Adam Smith define economic as the science of wealth
Hafsat
What is enconomics
mohamed
what is meant by pisp in economics?
Amara Reply
payment initiation service provider
Khuselo
what is demand
Joy Reply
demand
Demand refers to the consumers' desire to purchase goods at given prices. Demand can mean either demand for a specific good or aggregate demand for the total of all goods in an economy.
What is economc
Joseph Reply
What is economc
nahurira
What is Economic
Vicky Reply
What's the price index of consumption?
Pun Reply
what population
Hackman Reply
I think it's the sum total of people in a goegraphical area at a given time
Ruth
it refers to the number of people living in a particular area over a given period of time
Vanessa
decribe law of demand
Lovely Reply
the higher the price , the higher the quantity demanded
Ruth
what is economic growth
Metuge Reply
what is an economic system
Metuge
Economic system is the mechanism which deals with the production, distribution and consumption of good and services in a particular society
Happy
of course
Maesela
what is a weight
Maesela
What is a weight
mohamed
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Accessible objected-oriented programming concepts for blind students using java. OpenStax CNX. Sep 01, 2014 Download for free at https://legacy.cnx.org/content/col11349/1.17
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Accessible objected-oriented programming concepts for blind students using java' conversation and receive update notifications?

Ask