- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 第7章 多态性 第7章 多态性 7.1员工工资 7.2基础知识讲解 7.3 考勤打铃提示管理 7.4基础知识讲解 7.5 习题 7.1员工工资 7.1.1系统业务 7.1.2设计测试用例 7.1.3员工工资计算业务流图 7.1员工工资 7.1.1系统业务 我们即将开发或正在开发或已经有了一个为A公司编制的《员工工资管理系统》,假设这个系统很适合A公司的工资计算统筹体系,因此我们交付给A公司使用。当A公司付给我们合同款项后,我们是把我们编写的原系统丢弃,或等到下次A公司需要时再升级,但任何程序员和公司都不会希望自己的系统只使用一次。可能会把自己的系统再推销给B公司、C公司,把希望所有的公司都能够使用自己的系统作为自己编写系统的最高境界,但不同的公司、不同的地区员工工资计算、工资发放情况都不同,难道每实施一个公司,都要对系统进行一次代码修改——编译——打包发布吗?一两个公司使用,系统管理比较方便,假如业务好,有成千上万个单位使用我们的系统,那我们要落实哪个单位使用的哪个安装包,或要对其中的哪一个公共bug进行修改,那样的工作量都是灾难性的,也不是我们愿意看到的情况。我们希望我们开发的程序,由实施人员到客户处,对配置文件稍加配置,源程序不动就能够满足用户的要求,或修改了源程序,不会对当前正在使用的用户产生影响,这就要用到我们这一章要讨论的一些面向对象高级概念。 7.1员工工资 7.1.2设计测试用例 根据上述的系统业务,我们明确了开发要达成的目的是:开发的员工工资管理系统要有很好的扩展性,能够推广适应所有公司的工资管理,我们这里假设这个系统的客户有3个:一个为中国A公司、一个为中国B公司,还有一个为美国A公司,让他们都能够使用这个系统,现在分别为他们设计一个测试用例。 7.1员工工资 7.1.2设计测试用例 7.1.2.1 对中国A公司的测试用例 假如中国公司A的实发工资=(基本工资+考勤工资)-(基本工资+考勤工资-个人所得税起征点)*10%个人所得税税率 7.1.2.2对公司B的测试用例 ?假如中国公司B的实发工资=(基本工资+考勤工资+工龄工资+交通补贴)-(基本工资+考勤工资+工龄工资+交通补贴-个人所得税起征点)*10%个人所得税税率 7.1.2.3对美国A公司的测试用例 假如美国公司A的实发工资=基本工资-联邦税-州税 7.1员工工资 7.1.3员工工资计算业务流图 不同公司员工的工资组成和计算方式方法不同,本系统计算员工工资的业务流图如下图7-1所示。 7.2基础知识讲解 7.2.1抽象类与抽象方法 7.2.2多态性 7.2.3 接口 7.2.4 委托 7.2基础知识讲解 要实现上面的业务,我们有很多方法可以达到。比如用if…else、switch和继承都可以实现。 我们建立个工资计算的类 。注:我们这里是模拟实现,计算过程都用文字描述,返回值也使用字符串 第一种方法:使用if…else 第二种方法:使用 switch 在调用的时候我们还是要先判断是哪个公司使用,然后才调用相应的方法计算完成。当使用公司少的时候我们还可以忍受,添加if…else 或switch,但是使用的公司多了,比如有一百个公司、一千个公司要使用该系统,我们难以想象,要增加好多if…else 或switch,假如我们要去寻找针对某个公司的代码,我们都会非常头疼,是不是? 有没有一种方法,让我们不使用if…else 或switch呢?答案是肯定的。就是用我们下面学习的抽象类和抽象方法来实现。 7.2.1抽象类与抽象方法 抽象类:又叫抽象基类,主要用在类的定义和部分实现这方面,去共享一些公用的特性,在定义的时候使用 abstract 关键字标记的一般类。格式如下: public abstract class A { //抽象类成员 } 抽象类可包含一般类所包含的所有特性,例如:字段,属性,方法, 如定义一个一般类 public class A { private string sFiled; } 定义 一个抽象的类 public abstract class B { } 但对于普通类 可以通过 new关键字进行实例化,如:A a=new A(); 如果我们想用下面代码实例化B: B b=new B();那系统就会报错,因为抽象类是不能进行实例化的,只有抽象类的派生实现类才能够实例化。如下: public class C:B { //实现代码 } C c=new C();//这样就可以的。 7.2.1抽象类与抽象方法 抽象方法: 当类中的方法在声明的时候加上 abstract 关键字的时候,他就被我们称为抽象方法。抽象方法在声明的时候不需要可执行的代码,具体实现交给他的派生类实现。 //对于抽象类A
您可能关注的文档
- VB.NET 程序设计案例教程 第5章 面向对象的程序设计.ppt
- VB.NET 程序设计案例教程 第6章 Windows高级界面.ppt
- VB.NET 程序设计案例教程 第7章 图形程序设计.ppt
- VB.NET 程序设计案例教程 第8章 图像程序设计.ppt
- VB.NET 程序设计案例教程 第9章 文件操作.ppt
- VB.NET 程序设计案例教程 第10章 数据库访问技术.ppt
- VB程序设计案例教程( ) 第1章 中文 VB 程序设计基础.ppt
- VB程序设计案例教程( ) 第2章 中文 VB 程序设计基础.ppt
- VB程序设计案例教程( ) 第3章 中文 VB 程序设计基础.ppt
- VB程序设计案例教程( ) 第4章 中文 VB 程序设计基础.ppt
- VC#.NET数据库应用程序设计 课件 第8章 泛型与集合.ppt
- VC#.NET数据库应用程序设计 课件 第9章 部门信息管理.ppt
- VC#.NET数据库应用程序设计 课件 第10章 员工考勤信息管理1存储过程.ppt
- VC#.NET数据库应用程序设计 课件 第10章 员工考勤信息管理2员工考勤.ppt
- VC#.NET数据库应用程序设计 课件 第11章 自定义请假员工工作流.ppt
- VC#.NET数据库应用程序设计 课件 第12章 员工基本工资组成模块.ppt
- VC#.NET数据库应用程序设计 课件 第13章 超假罚款计算模块.ppt
- VC#.NET数据库应用程序设计 课件 第14章 支付员工薪水.ppt
- VC#.NET数据库应用程序设计 课件 第15章 版本控制软件VSS2005.ppt
- VC#.NET数据库应用程序设计 课件 第16章 使用Workshop设计帮助文件.ppt
最近下载
- 质量三体系培训课件.ppt
- 【市质检一检】泉州市2026届高中毕业班质量监测(一) 物理试卷(含标准答案).docx
- 2025新人教版道德与法治一年级下册《第四单元 争做中国好儿童》大单元整体教学设计[2022课标].docx
- 第2单元第1课《人像作品探秘》课件-2025-2026学年冀美版(2024)初中美术七年级上册.pptx VIP
- 带状疱疹的护理查房课件.ppt VIP
- 环生院南理工环境科学导论课件11水资源及其利用与保护.ppt VIP
- 建筑结构设计(4-3-2)--17等高排架剪力分配法.pdf VIP
- 格兰富cl不锈钢端吸泵.pdf VIP
- 行为生态学1课件.ppt VIP
- 一种射频消融系统输出功率控制方法及系统.pdf VIP
文档评论(0)