abstract ex
DESCRIPTION
Abstract ExTRANSCRIPT
7/21/2019 Abstract Ex
http://slidepdf.com/reader/full/abstract-ex 1/3
package com.gitam.prasad.abs;
public abstract class Instrument {
//an Instrument object contains a field name and a method called play,//that must be implemented by a sub-class. protected String name;
abstract public void play();
}
/////////////////////////////////////////////////////////////////////////////
package com.gitam.prasad.abs;
/* * we define a sub-class called StringedInstrument that extends the Instrument class* and adds an extra field called numberOfStrings:
**/
public abstract class StringedInstrument extends Instrument {
protected int numberOfStrings;
}
//////////////////////////////////////////////////////////////////////////////
package com.gitam.prasad.abs;
/* * we add two more classes that implement the functionality of a StringedIntrument,* called ElectricGuitar and ElectricBassGuitar accordingly.* The definition of these newly added classes is shown below: **/
public class ElectricGuitar extends StringedInstrument {
//Constructor with no argumentspublic ElectricGuitar() {
super(); this.name = "Guitar"; this.numberOfStrings = 6; }
////Constructor with one argumentpublic ElectricGuitar(int numberOfStrings) {
7/21/2019 Abstract Ex
http://slidepdf.com/reader/full/abstract-ex 2/3
super(); this.name = "Guitar"; this.numberOfStrings = numberOfStrings
; }
@Overridepublic void play() {
System.out.println("An electric "+ numberOfStrings + "-string "+ name
+ " is rocking!");
}
}
/////////////////////////////////////////////////////////////////////////////////
package com.gitam.prasad.abs;
public class ElectricBassGuitar extends StringedInstrument {
////Constructor with no argumentspublic ElectricBassGuitar() {
super(); this.name = "Bass Guitar"; this.numberOfStrings = 4; }
////Constructor with one argument
public ElectricBassGuitar(int numberOfStrings) { super(); this.name = "Bass Guitar"; this.numberOfStrings = numberOfString
s; }
@Overridepublic void play() {
System.out.println("An electric " + numberOfStrings + "-string " + name
+ " is rocking!");
}
}
//////////////////////////////////////////////////////////////////////////////////
7/21/2019 Abstract Ex
http://slidepdf.com/reader/full/abstract-ex 3/3
package com.gitam.prasad.abs;
//Finally, we create a new class called Execution that contains a single main method:
public class Execution {
public static void main(String[] args) {
//Object creation for a class with no argumentsElectricGuitar guitar = new ElectricGuitar();ElectricBassGuitar bassGuitar = new ElectricBassGuitar();
guitar.play(); bassGuitar.play();//Object creation for a class with one argument
guitar = new ElectricGuitar(7); bassGuitar = new ElectricBassGuitar(5);
guitar.play(); bassGuitar.play();
}
}