我将图书馆系统实现为练习,因为我创建了一个抽象类:
public abstract class RentalItem
{
.....
public RentalItem() { }
public RentalItem(string itemID, string title, int qty,float price, PeriodType period) {
ItemID = itemID;
Title = title;
No_Of_Copies = qty;
Period = period;
}
public abstract void addItem(string itemId, string title, int no_of_copies,float price,PeriodType p);
.....
}
之后,我创建了 MovieItem 类,它继承了 RentalItem 类:现在这个类有额外的字段。如下 :
public Movie(string itemId, string title, int no_of_copies, float price, PeriodType p, MovieType type, string actor, string director)
: base(itemId, title, no_of_copies, price, p)
{
this.Type = type;
this.Actors = actor;
this.Director = director;
}
public override void addItem(string itemId, string title, int no_of_copies,float price,PeriodType p){};
但实际上我想实现 addItem 方法,它需要基本参数+附加参数,如下所示:
public void addItem(string itemId, string title, int no_of_copies, float price, PeriodType p, MovieType type, string actor, string director)
那么如何使用抽象方法呢?如果我正在实现自己的 addItem(...) 方法,那么抽象类有什么用?