228k views
1 vote
Design a class named Person with fields for holding a person’s name, address, and telephone number. Write one or more constructors and the appropriate mutator and accessor methods for the class’s fields. Next, design a class named Customer, which extends the Person class. The Customer class should have a field for a customer number and a boolean field indicating whether the customer wishes to be on a mailing list. Write one or more constructors and the appropriate mutator and accessor methods for the class’s fields. Demonstrate an object of the Customer class in a simple program.

User MartinH
by
6.2k points

1 Answer

0 votes

Answer:

Here is the Person class:

class Person { //class name

//below are the private data members/fields of Person class

private String name; //to hold name

private String address; //to hold address

private String phoneNo; // contains telephone number

public Person(String name, String address, String phoneNo){ //constructor of Person class with name, address and phoneNo as parameters

this.name = name;

this.address = address;

this.phoneNo = phoneNo; }

public String getName(){ //accessor method to get/access the name

return this.name; } //returns the name

public String getAddress(){ //accessor method to get/access the address

return this.address; } //returns the address

public String getPhoneNo(){ //accessor method to get/access the phone number

return this.phoneNo; } //returns the telephone number

//mutator methods

public void setName(String nam){ //mutator method to set the name

this.name = nam; }

public void setAddress(String addr){ //mutator method to set the address

this.address = addr; }

public void setPhoneNo(String phNo){ //mutator method to set the telephone number

this.phoneNo = phNo; } }

Here is the Customer class which extends the Person class:

class Customer extends Person{ //Customer class that is sub class of Person class

//below are the private data members/fields of Customer class

private String CustomerNo; //String type field to hold customer number

private boolean MailingList; //boolean field indicating whether the customer wishes to be on a mailing list

public Customer(String name, String address, String phoneNo, String custNum, boolean mail) { //constructor of Customer class that has parameters name, address and phoneNo (of Person class) and parameters custNum and mail ( of Customer class)

super(name, address, phoneNo); // super keyword is used to refer to Person objects and to access the Person class constructor

this.CustomerNo = custNum;

this.MailingList = mail; }

//accessor methods

public String getCustomerNo(){ //accessor method to get/access the customer number

return this.CustomerNo; }

public boolean getMailingList(){ //accessor method to get/access the boolean mailing list to check whether a person wants to be on mailing list

return this.MailingList; }

//mutator methods

public void setCustomerNo(String custNo){ //mutator method to set the customer number

this.CustomerNo = custNo; }

public void setMailingList(boolean mailing){ //mutator method to set the mailing list

this.MailingList = mailing; } }

Step-by-step explanation:

Here is the demonstration class to demonstrate object of Customer class, calls Person and Customer class methods to display the Customer information such as name, address, phone number, customer number and if customer wants to receive mail.

import java.util.Scanner; //used to take input from user

class Demonstration{ //test class

public static void main(String args[]){ //start of main() function

Scanner input= new Scanner(System.in); //creates object of Scanner class

System.out.print("Enter Customer Name: "); //prompts user to enter name

String fname = input.nextLine();

System.out.print("Enter Customer Address: "); //prompts user to enter address

String address = input.nextLine();

System.out.print("Enter Customer Telephone Number: "); //prompts user to enter telephone number

String phoneNumber = input.nextLine();

System.out.print("Enter Customer Number: "); //prompts user to enter customer number

String customerNum = input.nextLine();

System.out.print("Does Customer wish to be on a mailing list? \\Press 1 for yes, 0 for no: "); //asks user if he wishes to receive mail

String choice = input.nextLine();

boolean mailList = (choice.equals("1")); //if user enters 1 indicating that he wishes to be on mailing list

Customer customer = new Customer(fname, address, phoneNumber, customerNum, mailList); //creates object of Customer class and calls Customer class constructor

System.out.println("\\Customer Information: ");

System.out.println("Name: "+customer.getName()); //calls getName method of Person class using customer object to get the name and displays the name

System.out.println("Address: "+customer.getAddress()); //calls getAddress method of Person class using customer object to get the name and prints the address

System.out.println("Telephone Number: "+customer.getPhoneNo()); //calls getPhoneNo method of Person class using customer object to get the telephone number and prints phone number

System.out.println("Customer Number: "+customer.getCustomerNo()); //calls getCustomerNo method of Customer class using customer object to get the customer number and prints the customer number

System.out.println("Mailing List?: "+customer.getMailingList()); }} //calls getMailingList method of Customer class using customer object to get the mailing list and prints true of false on the basis of customers choice to be on mailing list.

Design a class named Person with fields for holding a person’s name, address, and-example-1
Design a class named Person with fields for holding a person’s name, address, and-example-2
Design a class named Person with fields for holding a person’s name, address, and-example-3
Design a class named Person with fields for holding a person’s name, address, and-example-4
User Dinesh Pallapa
by
5.7k points