Question
Objective The objective of this project is to give you some experience working with DVD objects created from a user-defined DVD class and passing DVD
Objective
The objective of this project is to give you some experience working with DVD objects created from a user-defined DVD class and passing DVD objects to functions that manipulate them. The objects you will model in this project will be software DVDs. You will create several DVD objects and then load information into their instance variables. All of these DVD objects will then be passed to a global function that displays the instance variable values of each DVD object it receives. All of these DVD objects will then be passed to another global function that computes and displays the total cost as well as the average cost for the DVDs it receives. Finally, a function that receives a single DVD object will be called twice once for each of the two DVD objects. This function will allow the user to interactively change user-selected data items in the single DVD object passed to this function.
This project represents a hybrid solution which incorporates both objects of a Python class as well as global, free-standing, C-like functions that process object(s) passed to them. Hybrid solutions such as this are actually the most common solutions found in practice since the world typically cannot be ENTIRELY modeled as objects!
Specifications (minimum)
The DVD class contains the following instance variables:
self.__Title; | // The Name of the DVD |
self.__DVDType; | // The Type of DVD |
self.__Cost; | // The Cost of the DVD |
The ONLY recognized (i.e., legal) software DVD types are, Game, Word, Compiler, Spreadsheet, Dbase, and Presentation (AND, no others!).
The DVD class contains (at a minimum) the following methods:
__init__(self, InTitle, InDVDType, InCost): . . . | // Constructor initialize instance variables // with (validated) parameter values
|
setTitle(selfNewTitle): . . . | // Change the self.__Title instance variable value |
setType(self NewType): . . . | // Validate and change the self.__DVD_Type instance variable value |
getTitle(self): . . . | // Return self.__Title instance variable value |
setType(self NewType): . . . | // Validate and change the self.__DVD_Type instance variable value |
getCost(self): . . . | // Return the value in the self.__Cost instance variable value |
loadInformation(self): . . . | // Interactively prompt-for, input, and set all instance variables |
listValidDVDtypes(self): . . . | // Support method that displays list of valid DVD types |
The global functions are as follows:
- Prototype:
- def Display_DVD_Information(DVD1, DVD2, DVD3): . . .
- Pseudo code:
- For each DVD object parameter, retrieve and display its instance variable values in a nicely-formatted list (or table).
- Pseudo code:
- def Display_DVD_Information(DVD1, DVD2, DVD3): . . .
- Prototype:
- def DisplayTotalAndAverageCosts(DVD1, DVD2, DVD3): . . .
- Pseudo code:
- Retrieve and sum the individual costs of the DVD objects and display the total cost and then display the average cost
- Pseudo code:
- def DisplayTotalAndAverageCosts(DVD1, DVD2, DVD3): . . .
- Prototype:
- def ChangeDVD(A_DVD): . . .
- Pseudo code:
- Interactively change the instance variable value of the passed-in DVD object. For the current value of each instance variable be sure to FIRST display this value before asking your user whether he/she wants to change this value. If so, the prompt-for, input, validate(where necessary) and then save the new instance variable value.
- The main() function will:
- Declare several (at least three) individual DVD objects, e.g.,
- DVD1 = DVD(
, , ) // etc.
- Pseudo code:
- def ChangeDVD(A_DVD): . . .
- Call the global function, Display_DVD_Information(), to display the contents of each of the DVD objects passed to this function. This will demonstrate that your DVD constructor works as you implemented it. Load each DVD object with information of your choice by calling member function, LoadInformation(), on each DVD object, e.g.,
DVD1.LoadInformation(); // etc.
- Call the global function, Display_DVD_Information(), again to display the contents of each of the DVD objects passed to this function after you have loaded each DVD object with user-selected values.
- Next, call the global function, DisplayTotalAndAverageCosts() to compute and display, 1) the total cost and then, 2) the average cost of the DVD objects passed to this function.
- Call global function, ChangeDVD(), for each of the first two DVD objects.
- Call global function, Display_DVD_Information(), again to see the changes just made to the first two DVDs.
- Call global function, DisplayTotalAndAverageCosts(), again to see how the total and average costs have changed.
Deliverable(s)
Your deliverable should be a Word document with screenshots showing the source code and running results. If the source code is too long, you may insert your source code files as Packages into the Word document. You may also login to the class by using a browser in the AWS, and upload your source code directly. Submit a cover sheet with the hardcopy of your work.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started