تفاصيل العمل

Base Class: Vendor

Private variables:

vendorId

vendorName

baseContractAmount

Validation rules (in setters):

vendorId must start with "VEND"

vendorName must be at least 4 characters

baseContractAmount must be ≥ 10,000

Methods:

double calculateMonthlyPayment()

Default implementation returns baseContractAmount

Subclass: LocalVendor

Inherits from Vendor

Overrides calculateMonthlyPayment()

Adds 12% tax

Adds fixed compliance fee = 500

Subclass: InternationalVendor

Inherits from Vendor

Private variable:

exchangeRate

Validation:

exchangeRate must be > 0

Overrides calculateMonthlyPayment()

Converts amount using exchange rate

Adds 18% customs duty

Adds international handling fee = 2000

Main Class:

Use a Vendor reference

Assign it to both vendor types

Display calculated monthly payment

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
المهارات