67、利用多态实现薪资系统案例分析

利用多态实现薪资系统案例分析

1. 多态在设备驱动中的应用

多态在实现分层软件系统时特别有效。以操作系统为例,不同类型的物理设备操作方式可能差异很大,但对设备进行数据读写的命令却有一定的一致性。向设备驱动对象发送的写消息,需要根据该设备驱动的具体情况以及它对特定类型设备的操作方式来解释。不过,写操作本身与系统中对其他设备的写操作并无不同,都是将内存中的一定数量字节数据放置到设备上。

一个面向对象的操作系统可以使用抽象基类为所有设备驱动提供合适的接口。通过从这个抽象基类继承,形成操作方式相似的派生类。设备驱动提供的功能(即公共函数)在抽象基类中以纯虚函数的形式存在,而这些纯虚函数的实现则在对应特定类型设备驱动的派生类中完成。这种架构还能让新设备轻松添加到系统中,用户只需插入设备并安装其新的设备驱动,操作系统就能通过该设备驱动与新设备进行“通信”,因为该设备驱动拥有与其他所有设备驱动相同的公共成员函数,即抽象基类中定义的那些函数。

2. 薪资系统案例背景

一家公司按周给员工支付工资,员工分为三种类型:
- salaried employees(领固定薪水的员工):无论工作时长,每周领取固定工资。
- commission employees(按提成计薪的员工):工资为销售额的一定百分比。
- base - salary - plus - commission employees(底薪加提成的员工):领取底薪加上销售额的一定百分比作为工资。

在当前支付周期,公司决定给底薪加提成的员工的底薪增加 10%。公司希望实现一个 C++ 程序,以多态的方式进行薪资计算。

3. 员工类层次结构设计 </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值