Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please Explain this code public class CollegeCourse { String departmentName; int

ID: 3862747 • Letter: P

Question

Please Explain this code

public class CollegeCourse {

   String departmentName;
   int courseNumber, numberOfCredits, courseFee;

   public CollegeCourse() {
       // TODO Auto-generated constructor stub
   }

   /**
   * @param departmentName
   * @param courseNumber
   * @param numberOfCredits
   */
   public CollegeCourse(String departmentName, int courseNumber,
           int numberOfCredits) {

       this.departmentName = departmentName;
       this.courseNumber = courseNumber;
       this.numberOfCredits = numberOfCredits;
       this.courseFee = numberOfCredits * 120;
   }

   /**
   * @return the departmentName
   */
   public String getDepartmentName() {
       return departmentName;
   }

   /**
   * @param departmentName
   * the departmentName to set
   */
   public void setDepartmentName(String departmentName) {
       this.departmentName = departmentName;
   }

   /**
   * @return the courseNumber
   */
   public int getCourseNumber() {
       return courseNumber;
   }

   /**
   * @param courseNumber
   * the courseNumber to set
   */
   public void setCourseNumber(int courseNumber) {
       this.courseNumber = courseNumber;
   }

   /**
   * @return the numberOfCredits
   */
   public int getNumberOfCredits() {
       return numberOfCredits;
   }

   /**
   * @param numberOfCredits
   * the numberOfCredits to set
   */
   public void setNumberOfCredits(int numberOfCredits) {
       this.numberOfCredits = numberOfCredits;
   }

   /**
   * @return the courseFee
   */
   public int getCourseFee() {
       return courseFee;
   }

   /**
   * @param courseFee
   * the courseFee to set
   */
   public void setCourseFee(int courseFee) {
       this.courseFee = courseFee;
   }

   public void Display() {
       System.out.println("Department name " + departmentName
               + ", Course number " + courseNumber + ", Number of credits "
               + numberOfCredits + " Course fee :$" + courseFee);

   }

}

public class LabCourse extends CollegeCourse {

   public LabCourse() {
       // TODO Auto-generated constructor stub
   }

   public LabCourse(String departmentName, int courseNumber,
           int numberOfCredits) {
       super(departmentName, courseNumber, numberOfCredits);
       // TODO Auto-generated constructor stub
       this.courseFee = (numberOfCredits * 120) + 50;
   }

   public void Display() {

       System.out.println("course is a lab course:");
       System.out.println("Department name " + departmentName
               + ", Course number " + courseNumber + ", Number of credits "
               + numberOfCredits + " Course fee :$" + courseFee);
   }

}

import java.util.Scanner;

public class UseCourse {
   public static void main(String[] args) {
       Scanner scanner = null;
       try {
           scanner = new Scanner(System.in);
           String departmentName;
           int courseNumber, numberOfCredits;
           CollegeCourse collegeCourse = null;

           System.out.print("Enter the Deparment Name:");
           departmentName = scanner.next();

           System.out.print("Enter the Course Number:");
           courseNumber = scanner.nextInt();

           System.out.print("Enter the Number Of Credits:");
           numberOfCredits = scanner.nextInt();

           if (departmentName.equalsIgnoreCase("BIO")
                   || departmentName.equalsIgnoreCase("CHEM")) {

               collegeCourse = new LabCourse(departmentName, courseNumber,
                       numberOfCredits);
           } else {
               collegeCourse = new CollegeCourse(departmentName, courseNumber,
                       numberOfCredits);

           }

           collegeCourse.Display();

       } catch (Exception e) {
           // TODO: handle exception
       } finally {

           scanner.close();
       }

   }

Explanation / Answer

This is very simple example of Inheretence

you have defined two class named CollegeCourse and LabCourse( LabCourse is extending the CollegeCourse for defining extra functionality for Lab classes)

and you have defined UseCourse class for main method

1) CollegeCourse is parent class of LabCourse class

in this class you have ddefined some instance variable for class

like

departmentName;
courseNumber,

numberOfCredits,

courseFee;

you have defined parameterized constructor for intalizaing the instance variable by console input that you defined in your main method in UseCourse class

in addition to this you have defined Getter and Setter method for getting and setting values

2) LabCourse Class

LabCourse class is just enhanchment of CollegeCourse only diffrence is that you are increasing the fee in LabCourse class

so we extend CollegeCourse class and for additionqal functionality for fee increasing is defined in counstrucotr

public LabCourse(String departmentName, int courseNumber,
   int numberOfCredits) {
   super(departmentName, courseNumber, numberOfCredits);
   // TODO Auto-generated constructor stub
   this.courseFee = (numberOfCredits * 120) + 50;
   }

3) UseCourse class

   This is the main class where we are making a object of the previous class and then use the functionality by whatever input we get from console , the input given bu user

BUT

here if you enter department name as BIO or CHEM

we are calling the object of LabCourse class cause BIO and CHEM are labClasses