Javascript多类继承(以Book Store为例,使用这三个类:Member、Book、Transaction)
我有两门课Javascript多类继承(以Book Store为例,使用这三个类:Member、Book、Transaction),javascript,Javascript,我有两门课 function Book(title, price){ this.title = title; this.price = price; } function Member(name, level){ this.name = name; this.level = level; } // Level or Subscription or something like that Member.prototype.getDiscount = function(level
function Book(title, price){
this.title = title;
this.price = price; }
function Member(name, level){
this.name = name;
this.level = level; } // Level or Subscription or something like that
Member.prototype.getDiscount = function(level){
if(this.level.toUpperCase() === 'GOLD') return 0.5;
elseif(this.level.toUpperCase() === 'SILVER') return 0.2;
else return 0; }
// a Silver Member has 20% discount (all book)
// a Gold Member has 50% discount (all book)
b1 = new Book('book A', 500);
b2 = new Book('book B', 200);
b3 = new Book('book C', 400);
m1 = new Member('Alex', 'Gold');
m2 = new Member('Bruce', 'Silver');
m3 = new Member('Christine', 'Gold');
我想要一个新的事务
类:
t1 = new Transaction(m1, [b2, 3]); // Alex bought 3 'book B' for 300.
t2 = new Transaction(m1, [[b1, 2], [b3, 4], [b2, 1]]); // Alex bought 2 'book A' for 500,
// 4 'book C' for 800
// and 1 'book B' for 100.
事务
有两个构造函数。第一个构造器是谁买了这本书。第二个构造函数是1D数组(仅一个书名)或2D数组(多个不同的书名)。调用
m1.bag的结果
:(一堆控制台日志
s)
当调用m2.bag
时:
Member Name : Bruce
Member Level: Silver
Transaction History :
m2
和m3
的交易
尚未声明。
总结:
-如何将
图书
和会员
之间的关系转换为交易
-如何创建可以是1D或2D的动态构造函数。
谢谢。请向我们展示您在完成
交易
课程方面所做的努力!它应该把构造器收集的数据放在哪里,除此之外还应该做什么?我尝试了mixin、prototype等,但失败了<代码>交易是一种连接书籍
和会员
的“桥梁”。在交易中
我想用每个会员自己的折扣计算他们的购买量。我想要的最终结果是m1.bag
,我希望它在成员中成为一个额外的原型(就像getDiscount()
函数一样,但带有事务中的“spices”。如果很难理解,请原谅。我是一个初学者。
Member Name : Bruce
Member Level: Silver
Transaction History :