Science an INTRODUCTION In this assignment you will implement class Printer, which represents a real-ife computer printer Your class Printer the following attributes (membervariables) Tpe: Dor Matri. Ink Jet, or Laser (enam data type ON or OFF Boolean value) Printer Capacity: the mavimum number of pages that can be loaded into a printer (integer) Paper Load current number of pages loaded into a printer (inleger) Class Printer contains the following FUNCTIONS CONSTRUCTORS: Ddawlreansmactor. Default attribune values are: ype Do Matrix o Printer Cupacio 1,000 Status OFF Paper Lead-1,000 Class Constructor: takes four arguments, one for each class attribute, makesmnr thar the arguments for paper capacity and paper load are valid fin other words yow must validate the Printer capacity-an integer value between 500 and Io000 o Paper Load-and integer value between 0 and Paper Cpacity Input printer takes input from the keyboard (a user) to set a printer object and validates attribute values (member variable values) of the class Accepts parameters Retums Nothing Display Printer displays printer information screen ACCESSOR MEMBER NCTIONS: Ger Type: returns the type of the printer GeLSwannsr returns a Boolean value indicating ifthe printer isoN or oFF Get Capacies returns printer's page capacity Get Leedt returns current printer's page load FIER M RER FUNCTIONS: Print prints specified number of pages (eg sheets of paper. Function takes a single integer value (as an argument)to represent the number of pages to print Printing rules f the printer is OFF retum If the number of pages to print islarger than the Paper Load then the function sets Paper Load to 0 and returns the num ber of pages (int)left to print. Otherwise, the function decrements the PaperLead by the number of pages to print and returns 0 Load: loads specified number of pages into a printer Function takes a single int value as an argunent to represent the number to load. Loading rules f the printer's available capacity (eg the difference between the Printer Capacio and the Load is greater than the requested number of pages to load, then the function increments the Paper Load by the specified number of pages returns o otherwise, the function sets Paper Load to the Printer Capacity and returns the number of pages that were NOT loaded lenovo