Ask Programming Language Expert

Creating Methods

Since you have created the data objects for Harbor View Mooring, you now need to create processes associated with each object. In order to keep with good object-oriented practices of implementation hiding and program modularization, all processes related to an object (class) must be kept in a discreet method, within the object's Class definition file. So, your job is to create Methods that accomplish the following tasks.

Assumption: Each customer will only be owner of one boat and will only rent one slip.

You are expected to follow the "General Directions" found in the "Course Project Instructions" link on our course page.

Customer Class:

(1) Use the Customer class and array you created. (See Note #1 in Programming Notes below.)

(2) Create a Method in the Customer Class file that will sort the Customers by ID number when called from the main program. To do this, you will need to use an Interface (using the iComparable method) as described in the programming notes below. (See Note #2 in Programming Notes below.)
Boat Class:

(1) Use the Boat class and array you created in Unit 3.

(2) Each year, a customer must pay an insurance premium to HVM based on a fixed amount (determined by HVM) and the value of their boat. Create a Method in the Boat Class file called, "BoatInsurance". This Method will receive a fixed amount and a percentage (floating point number) as parameters (input by the user) and will return the insurance premium due from the owner of this boat. (The insurance premium is the fixed amount plus the percentage of the boat's value; the fixed amount and percentage are both supplied by the user.) In keeping with the OO principles of Abstraction and Reusability, this Method will be in the Boat Class file.

Slip Class:

(1) Use the Slip class and array you created in Unit 3.

The following tasks need to be demonstrated using the Methods you have created:

• Use the Interface you created in the Customer class to sort the customers by ID number.

• Print Customer information about each customer in sorted order. You can either print all information (fields), or print customer ID, last name, first name, boat number, and slip number (excluding address and phone number).

• Continuously prompt the user for a customer number; while user enters a valid customer number, present customer name, boat ID, and slip ID. Tell the user if they enter an invalid customer ID. Continue prompting the user until they indicate they are finished.

o Prompt the user for a boat ID;

o if the boat ID is valid, return the value of the boat (using "getter" Methods from the Boat class). (See Note #3 in Programming Notes below.) and

o ask the user if they want to calculate the yearly boat insurance premium;

o if they do, prompt them for a fixed amount and a percentage, and then return the insurance premium amount. (For this task you should use the BoatInsurance method from the Boat class.)

o Print out the insurance premium amount.

o (If they enter an invalid boat ID, inform them of such.)

o (No need to prompt the user for more boat IDs; just demonstrate this function once in your program; i.e. only ask for one boat ID, then continue on in the program.)

• Prompt the user for a slip ID;

o if the slip ID exists, return the slip's monthly rental amount,

o and tell whether the slip is rented or not (using "getter" Methods from the Slip class). (See Note #3 in Programming Notes below.)

o Ask the user if they want to change the monthly slip rental amount; if they do, then prompt them for the amount and update the slip rental amount (using "setter" Methods from the Slip class).

o Print all the new slip information (at least slip ID and rental amount) to verify to the user that the slip rental amount was updated. (No need to prompt the user for more slip IDs; just demonstrate this function once in your program; i.e. only ask for one slip ID, then continue on in the program.)

o (If they enter an invalid slip ID, inform them of such.)

o (No need to prompt the user for more slip IDs; just demonstrate this function once in your program; i.e. only ask for one slip ID, then continue on in the program.)

o No need to do advanced error checking; for this exercise we will assume that if the customer exists, then the slip and boat numbers also exist, even though in real life this might cause our program to encounter errors.

Programming Notes:

1. Because you are using the same Classes you created (and will be instantiating your objects with data you have already created), you should copy your Visual Studio solution to create your Project. You can then add Methods to your Class files.

2. For sorting "objects" by ID, you need to create an Interface using the iComparable.CompareTo() method in the Class file as explained on page 286 ff. (This same process could be used to sort by name or by any other field.)

3. In order to access elements of an object individually, you will need to assign "getters" and "setters", and set their protection levels properly. Consider using the auto-implemented property as explained on pp. 256-259.

Deliverables:

• A customer Class file with indicated Methods defined.
• A boat Class file with indicated Methods defined.
• A slip Class file with indicated Methods defined.
• A main C# test program that carries out the processes indicated above.

Upload Instructions:

Select the Add Submission button below. Click Add, located in the top left hand corner of the File Submission box. The File Picker window will appear. Click Upload a file and then select the Browse button. Navigate to your file location. Once the file is located, select it and then select the Open button, the Upload this file button, and then the Save changes button.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M92078669
  • Price:- $55

Priced at Now at $55, Verified Solution

Have any Question?


Related Questions in Programming Language

Assignment - haskell program for regular expression

Assignment - Haskell Program for Regular Expression Matching Your assignment is to modify the slowgrep.hs Haskell program presented in class and the online notes, according to the instructions below. You may carry out th ...

Assignment task -q1 a the fibonacci numbers are the numbers

Assignment Task - Q1. (a) The Fibonacci numbers are the numbers in the following integer sequence, called the Fibonacci sequence, and are characterised by the fact that every number after the first two is the sum of the ...

Question - create a microsoft word macro using vba visual

Question - Create a Microsoft Word macro using VBA (Visual Basic for Applications). Name the macro "highlight." The macro should highlight every third line of text in a document. (Imagine creating highlighting that will ...

Assignmentquestion onegiving the following code snippet

Assignment Question One Giving the following code snippet. What kind of errors you will get and how can you correct it. A. public class HelloJava { public static void main(String args[]) { int x=10; int y=2; System.out.p ...

Assignment - proposal literature review research method1

Assignment - Proposal, Literature Review, Research Method 1. Abstract - Summary of the knowledge gap: problems of the existing research - Aim of the research, summary of what this project is to achieve - Summary of the a ...

1 write a function named check that has three parameters

1. Write a function named check () that has three parameters. The first parameter should accept an integer number, andthe second and third parameters should accept a double-precision number. The function body should just ...

Assignment - horse race meetingthe assignment will assess

Assignment - Horse Race Meeting The Assignment will assess competencies for ICTPRG524 Develop high level object-oriented class specifications. Summary The assignment is to design the classes that are necessary for the ad ...

Task silly name testeroverviewcontrol flow allows us to

Task: Silly Name Tester Overview Control flow allows us to alter the order in which our programs execute. Building on our knowledge of variables, we can now use control flow to create programs that perform more than just ...

Structs and enumsoverviewin this task you will create a

Structs and Enums Overview In this task you will create a knight database to help Camelot keep track of all of their knights. Instructions Lets get started. 1. What the topic 5 videos, these will guide you through buildi ...

Task working with arraysoverviewin this task you will

Task: Working with Arrays Overview In this task you will create a simple program which will create and work with an array of strings. This array will then be populated with values, printed out to the console, and then, w ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As