<< Chapter < Page | Chapter >> Page > |
You also saw how to save that object's reference in a reference variable of type Radio .
You saw how to write code (in an instance method named setStationNumber ) used to simulate the association of a radio button with a particular radio station.
You saw how to write code (in an instance method named playStation ) to simulate the pressing of a radio button to play the radio station associated with that button.
You saw the definition of the class named Radio01 , which consists simply of the main method. The main method of a Java application is executed by the Java Virtual Machine when the application is run.
You saw the definition of the class named Radio . This class includes one instance variable and two instance methods. (The instance variable is a reference variable that refers to a special kind of object that I refer to as an array object. I provided a very brief discussion on array objects. I will have more to say on this topic in a subsequent module.)
I provided a short discussion of class variables, which are not used in this program. I explained that the use of class variables can often lead to undesirable side effects.
Finally, I provided a very brief discussion of the syntax of a simple class definition in Java.
Recall that in order to understand OOP, you must understand the following three concepts:
The next module will begin a discussion of inheritance. Overall, the discussion of inheritance will require more than one module. In the next module, I will discuss how the definition of a class defines a new data type. I will show you how to extend an existing class. I will explain what is inherited through inheritance. I will discuss code reuse and explicit constructors.
Finally, I will illustrate all of the above in a simple program that extends the Radio class discussed in this module into a new class named Combo that simulates an upgraded radio containing a tape player. (Yes, at one point in history, car radios did contain tape players.)
This section contains a variety of miscellaneous information.
Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.
I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.
In the past, unknown individuals have misappropriated copies of my modules from cnx.org, converted them to Kindle books, andplaced them for sale on Amazon.com showing me as the author. I receive no compensation for those sales and don't know who doesreceive compensation. If you purchase such a book, please be aware that it is a bootleg copy of a module that is freelyavailable on cnx.org.
Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.
Listing 9 provides a complete listing of the program named Radio01 .
Listing 9 . The program named Radio01. |
---|
/*File Radio01.java
Copyright 2001, R.G.BaldwinSimulates manufacture and use of a
car radio.This program produces the following
output on the computer screen:Playing the station at 93.5 Mhz**************************************/
public class Radio01{//This class simulates the
// manufacturer and the human userpublic static void main(
String[]args){
Radio myObjRef = new Radio();myObjRef.setStationNumber(3,93.5);
myObjRef.playStation(3);}//end main
}//end class Radio01//---------------------------------//
class Radio{//This class simulates the plans from
// which the radio object is created.protected double[] stationNumber =new double[5];public void setStationNumber(int index,double freq){
stationNumber[index]= freq;
}//end method setStationNumberpublic void playStation(int index){System.out.println(
"Playing the station at "+ stationNumber[index]
+ " Mhz");}//end method playStation}//end class Radio |
-end-
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?