abstract ex

3

Click here to load reader

Upload: prekha

Post on 09-Mar-2016

217 views

Category:

Documents


0 download

DESCRIPTION

Abstract Ex

TRANSCRIPT

Page 1: Abstract Ex

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) {

Page 2: Abstract Ex

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!");

}

//////////////////////////////////////////////////////////////////////////////////

Page 3: Abstract Ex

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();

}

}