<< Chapter < Page | Chapter >> Page > |
Method overriding is different from method overloading . Method overloading will be discussed in the next module.
In the next module, I will explain the use of overloaded methods for the purpose of achieving compile-time polymorphism.
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 intoPDF.
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.
A complete listing of the program is shown in Listing 5 below.
Listing 5 . The program named Radio03. |
---|
Copyright 2002, R.G.Baldwin
Simulates the manufacture and use of acombination car radio and tape player.
Uses method overriding to avoidmodifying the class named Radio.
This program produces the followingoutput on the computer screen:Combo object constructed
Play RadioPlaying the station at 93.5 Mhz
Insert TapeTape is in
Radio is offPlay Radio
Remove the tape firstRemove Tape
Tape is outRadio is on
Play RadioPlaying the station at 93.5 Mhz
Play TapeInsert the tape first
Insert TapeTape is in
Radio is offPlay Tape
Tape is playingRemove Tape
Tape is outRadio is on
Play RadioPlaying the station at 93.5 Mhz
**************************************/public class Radio03{
//This class simulates the// manufacturer and the human user
public static void main(String[] args){Combo myObjRef = new Combo();
myObjRef.setStationNumber(3,93.5);myObjRef.playStation(3);
myObjRef.insertTape();myObjRef.playStation(3);
myObjRef.removeTape();myObjRef.playStation(3);
myObjRef.playTape();myObjRef.insertTape();
myObjRef.playTape();myObjRef.removeTape();
myObjRef.playStation(3);}//end main
}//end class Radio03//===================================//
class Radio{//This class simulates the plans from
// which the radio object is created.// This code is the same as in the
// program named Radio01.protected double[] stationNumber =new double[5];public void setStationNumber(int index,double freq){
stationNumber[index]= freq;
}//end method setStationNumber//This version of playStation doesn't// accommodate tape operations.
public void playStation(int index){System.out.println(
"Playing the station at "+ stationNumber[index]
+ " Mhz");}//end method playStation}//end class Radio
//===================================//class Combo extends Radio{private boolean tapeIn = false;
//---------------------------------//public Combo(){//constructorSystem.out.println(
"Combo object constructed");}//end constructor
//---------------------------------////Overridden playStation method. This// overridden version accommodates
// tape operations.public void playStation(int index){
System.out.println("Play Radio");if(!tapeIn){
System.out.println(" Playing the station at "
+ stationNumber[index]+ " Mhz");
}else{System.out.println(
" Remove the tape first");}//end if/else
}//end method playStation//---------------------------------//public void insertTape(){
System.out.println("Insert Tape");tapeIn = true;
System.out.println(" Tape is in");
System.out.println(" Radio is off");
}//end insertTape method//---------------------------------//public void removeTape(){
System.out.println("Remove Tape");tapeIn = false;
System.out.println(" Tape is out");
System.out.println(" Radio is on");
}//end removeTape method//---------------------------------//public void playTape(){
System.out.println("Play Tape");if(!tapeIn){
System.out.println(" Insert the tape first");
}else{System.out.println(
" Tape is playing");}//end if/else
}//end playTape}//end class combo |
-end-
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?