[OCLUG-devel] Javascript - Overriding method definition
Morgan Simpson
msimpson at braysimpson.com
Mon Feb 25 18:33:10 PST 2008
Doug Jolley wrote:
> I have the following:
>
> function purchase(description,price) {
> this.description=description;
> this.price=price;
> this.quantity=0;
> this.buttonStatus="add";
> this.amount=amount;
> }
> function amount() {
> return parseFloat((this.quantity * this.price)+'');
> }
>
> I then use a loop to populate an array with various purchase objects.
> Typically, there would be some number like say 20 different purchase
> objects contained in such an array. As you can see, the amount of
> each purchase is simply quantity*price. However, for sake of example,
> let's say that the 5th purchase object has a graduated pricing
> structure where it's so much for the first n units, some lesser amount
> for units n+1 through m, and an even smaller amount for units m+1 and
> more. Consequently, what I'd like to do is, after the array of
> purchase objects has be set up, redefine the amount() method for only
> the 5th purchase object to incorporate a formula that takes into
> account the graduated pricing structure. IOW, I'd like to override
> the standard amount method definition for only the 5th object with a
> new definition. My question is: How would I do that?
Commercial systems typically solve this problem with the addition of a
discount policy attribute. Your "amount" function would examine this
attribute to determine which policy (of potentially many) applies to
this transaction.
--
Best regards,
Morgan Simpson
Bray, Simpson & Associates, Inc.
+1 714 435 0150 - office
+1 714 390 5040 - cell
+1 714 549 3064 - fax
More information about the OCLUG-devel
mailing list