(之前做过的练习--更新版本)
2、汽车租赁公司,出租汽车种类有客车、货车和皮卡三种,每辆汽车除了具有编号、名称、租金三个基本属性之外,客车有载客量,货车有载货量,皮卡则同时具有载客量和载货量。
设计思路:
需要定义两个接口,一个抽象类car,三个类:passengercar、truck、pickup。
抽象类汽车car:属性有:编号no,名称name,租金rent。
接口A:定义载货量方法:zaihuoMethod();
接口B:定义载客量方法:zaikeMethod();
子类客车Passenger继承汽车租赁公司car,特有属性:载客量zaike。继承接口B。
子类货车Truck继承汽车租赁公司car,特有属性:载货量zaihuo。继承接口A。
子类货车Pickup继承汽车租赁公司car,特有属性:载客量zaike,载货量zaihuo。继承接口A和B。
//2、汽车租赁公司,出租汽车种类有客车、货车和皮卡三种,每辆汽车除了具有编号、名称、租金三个基本属性之外,客车有载客量,货车有载货量,皮卡则同时具有载客量和载货量。 //设计思路: //需要定义两个接口,一个抽象类car,三个类:passengercar、truck、pickup。 //抽象类汽车car:属性有:编号no,名称name,租金rent。 //接口A:定义载货量方法:zaihuoMethod(); //接口B:定义载客量方法:zaikeMethod(); //子类客车Passenger继承汽车租赁公司Carcompany,特有属性:载客量zaike。继承接口B。 //子类货车Truck继承汽车租赁公司Carcompany,特有属性:载货量zaihuo。继承接口A。 //子类货车Pickup继承汽车租赁公司Carcompany,特有属性:载客量zaike,载货量zaihuo。继承接口A和B。 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace CarDesinger { class Program { static void Main(string[] args) { } } public abstract class car { public string no; public string name; public int rent; public string No { set{ no = value; } get{ return no; } } public string Name { set { name = value; } get { return name; } } public int Rent { set { rent = value; } get { return rent; } } } public interface A { void zaihuoMethod(); } public interface B { void zaikeMethod(); } class passengercar : car, B//子类客车Passenger继承汽车租赁公司Carcompany,特有属性:载客量zaike。继承接口B。 { public int zaike; public int Zaike { set { zaike = value; } get { return zaike; } } public void zaikeMethod() { Console.WriteLine("客车载客:" + zaike + "人"); } } class truck : car, A { public int zaihuo; public int Zaihuo { set { zaihuo = value; } get { return zaihuo; } } public void zaihuoMethod() { Console.WriteLine("货车载客:" + zaihuo + "人"); } } class pickup : car, A, B { public void zaihuoMethod() { Console.WriteLine("sb"); } public void zaikeMethod() { Console.WriteLine("sb"); } } }
运行结果:
待上传·····································
Nearth===021/c#抽象类、多态和接口(练习题2)
最新推荐文章于 2023-02-18 19:07:02 发布