第四部分 类的继承及多态练习
1、编写以下接口IProduct, IShoppingCart。
IProduct必须包含以下属性:Name,Price,Description
IProduct必须包含以下方法:ShowProductDetail(显示产品的详细信息,使用控制台方式输出)
IShoppingCart必须包含以下属性:ProductCount,TotalPrice
IShoppingCart必须包含以下方法:AddProduct,RemoveProduct,ShowAllProducts,GetProductByIndex
2、编写类Product,ShoppingCart,分别实现接口IProduct,IShoppingCart,其中Product声明为abstract,其中AddProduct,RemoveProduct声明为virtual,Product中ShowProductDetail声明为virtual
3、编写类Chocolate,Notebook,Shoe,MobilePhone等派生自Product,分别加上这些类所描述的商品的特有属性,并且重写ShowProductDetail方法;
4、编写类CustomShoppingCart类派生自Product,覆盖原有基类Product里面的方法AddProduct、RemoveProduct,使CustomShoppingCart里面的AddProduct和RemoveProduct只接受类型为Chocolate的商品的输入(可以在方法内用is运算符判断输入参数的类型)
5、编写静态Main方法,创建一个ShoppingCart类实例,加入多个类型不同的Product(Chocolate,Notebook,Shoe,MobilePhone等),并调用ShowAllProducts方法打印出所有Product的信息
6、创建一个CustomShoppingCart类实例,加入多个Name属性不一样的Chocolate商品,调用ShowAllProducts显示所有商品的信息