Question: Code: package college; class Person{ String name; String email; public Person(){ } public Person(String name,String email) { this.name=name; this.email=email; } public String getName() { return
Code:
package college;
class Person{ String name; String email;
public Person(){ } public Person(String name,String email) { this.name=name; this.email=email; } public String getName() { return name; }
public void setName(String name) { this.name = name; }
public String getEmail() { return email; }
public void setEmail(String email) { this.email = email; } }///person class Employee extends Person{ String id;
/// add attribute as per need } class Staff extends Employee{ /// add attribute as per need } class Faculty extends Employee{ /// add attribute as per need }
class Student extends Person{ String year; String major; double grade_point_avg; public Student(){ }
public Student(String year, String major, double grade_point_avg) { this.year = year; this.major = major; this.grade_point_avg = grade_point_avg; }
public Student(String year, String major, double grade_point_avg, String name, String email) { super(name, email); this.year = year; this.major = major; this.grade_point_avg = grade_point_avg; }
public String getYear() { return year; }
public void setYear(String year) { this.year = year; }
public String getMajor() { return major; }
public void setMajor(String major) { this.major = major; }
public double getGrade_point_avg() { return grade_point_avg; }
public void setGrade_point_avg(double grade_point_avg) { this.grade_point_avg = grade_point_avg; } } class BandMember extends Student{ String instrument; public BandMember(){ this.grade_point_avg=0; this.setInstrument(); } public BandMember(Student S){ super(S.getYear(),S.getMajor(),S.getGrade_point_avg(),S.getName(),S.getEmail()); this.grade_point_avg=0; this.setInstrument(); } public BandMember(String year, String major, double grade_point_avg) { super(year, major, grade_point_avg); this.grade_point_avg=0; this.setInstrument(); }
public BandMember(String year, String major, double grade_point_avg, String name, String email) { super(year, major, grade_point_avg, name, email); this.grade_point_avg=0; this.setInstrument(); }
public String getInstrument() { return instrument; }
public void setInstrument(String instrument) { this.instrument = instrument; } ///private method only to set the instruments private void setInstrument(){ switch (this.getYear()) { case "freshman": this.instrument="bells"; break; case "sophomore": this.instrument="trumpet"; break; case "junior": this.instrument="baritone"; break; case "senior": this.instrument="tuba"; break; default: break; } } ///override methods to make it nonfunctional @Override public void setYear(String year) { } @Override public void setMajor(String major) { }
@Override public void setGrade_point_avg(double grade_point_avg) { }
}
public class College { ///static mathod to display roster band public static void displayRosterBand(BandMember obj[]){ System.out.println(" ALL STUDENT DATA "); System.out.println("name \t\t email \t\t instruments \t major"); for(int i=0;i // System.out.println(obj[i].getName()+"\t"+obj[i].getEmail() +"\t"+obj[i].getInstrument()+"\t"+obj[i].getMajor()); System.out.print(obj[i].getName()); System.out.print("\t"); System.out.printf("%15s",obj[i].getEmail()); System.out.printf("%15s",obj[i].getInstrument()); System.out.printf("%15s",obj[i].getMajor()); System.out.println(""); }
//to display student only with specific instrument displaySpecificBand(obj, "bells"); displaySpecificBand(obj, "tuba"); }
public static void displaySpecificBand(BandMember obj[],String band){ System.out.println(" -----------"+band+" -- instrument "); System.out.println("name \t\t email \t\tmajor"); for(int i=0;i if(obj[i].getInstrument().equals(band)){ System.out.print(obj[i].getName()); System.out.print("\t"); System.out.printf("%15s",obj[i].getEmail()); System.out.print("\t"); System.out.printf("%15s",obj[i].getMajor()); System.out.println("");
} }
} public static void main(String[] args) { //create student database Student[] studentDB =new Student[5]; studentDB[0]=new Student("junior", "English", 3, "grey", "grr@gmai.com"); studentDB[1]=new Student("senior", "Mathematics", 2.6, "Hannah", "hannah@mail.com"); studentDB[2]=new Student("junior", "Mathematics", 4, "Clay", "white@gmil.com"); studentDB[3]=new Student("freshman", "Mathematics", 2, "king ", "king@mail.com"); studentDB[4]=new Student("freshman", "English", 1.2, "adam", "kadam@mail.com"); //create roster band database from student database BandMember[] rosterBandDB=new BandMember[studentDB.length]; //to store all student band information for(int i=0;i rosterBandDB[i]=new BandMember(studentDB[i]); //calling BandMember(Student s) constructor } displayRosterBand(rosterBandDB); ///calling static method to display roster band } }
Question:
Part B: Describe how you used object-oriented programming concepts in your program.
Part C: How could you have used object-oriented programming concepts in a different way in a program with similar behavior?
Part D: How could you have made the program more robust?
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
