美文网首页
13-02-重载

13-02-重载

作者: D丝学编程 | 来源:发表于2021-04-06 09:09 被阅读0次

在同一个类中,方法名相同,参数类型或个数不同,即构成了方法的重载。

为什么要使用重载?

(1)对创建者来说,不用为方法取名而绞尽脑汁。

(2)对使用者来说,不用为记方法名而浪费精力。

例如:在员工类中,有一个计算工资的方法,对于A类人员没有项目提成,对于B类人员有项目提成。

A类人员工资 = 底薪 + 工龄*工龄工资

B类人员工资 = 底薪+工龄*工龄工资 + 项目提成(项目总金额 * 0.1)

class Employee
{
    public string EmpName { get; set; }
    //底薪 + 工龄*工龄工资(没有项目回款的时候)
    /// <summary>
    /// 没有项目提成的算法
    /// </summary>
    /// <param name="baseSalary">底薪</param>
    /// <param name="year">工作年限</param>
    /// <param name="yearMoney">工龄工资</param>
    /// <returns></returns>
    public double GetAllSalary(double baseSalary, int year, double yearMoney)
    {
        return baseSalary + year * yearMoney;
    }
    
    //底薪 + 工龄*工龄工资 + 项目提成(项目总金额  *0.1)(有项目回款的时候)
    /// <summary>
    /// 有项目提成的算法
    /// </summary>
    /// <param name="baseSalary">底薪</param>
    /// <param name="year">工作年限</param>
    /// <param name="yearMoney">工龄工资</param>
    /// <param name="itemMoney">项目总金额</param>
    /// <returns></returns>
    public double GetAllSalary(double baseSalary, int year, double yearMoney, double itemMoney)
    {
        return baseSalary + year * yearMoney + itemMoney * 0.1;
    }
}

对重载方法的调用:

Employee emp1 = new Employee();
Console.WriteLine("工资:" + emp1.GetAllSalary(3000, 5, 100));
Employee emp2 = new Employee();
Console.WriteLine("工资:" + emp2.GetAllSalary(3000, 5, 100,10000));

相关文章

  • 13-02-重载

    在同一个类中,方法名相同,参数类型或个数不同,即构成了方法的重载。 为什么要使用重载? (1)对创建者来说,不用为...

  • PHP编程开发技巧:PHP中重载如何实现

    PHP编程开发技巧:PHP中重载如何实现,重载分为属性重载和方法重载,在PHP中的重载和在其它编程语言的重载不一样...

  • C++操作符重载

    重载操作符的限制 可以重载的操作符 不能重载的算符 操作符重载的语法形式 重载赋值操作符 重载+-*/运算操作符操...

  • Java重载与重写

    简言 重写和重载都是面向对象多态的一种表现,重载是编译时多态,重载是运行时多态. 重载 重载(Overloadin...

  • C++基础-(重载)

    C++基础 重载 哪些运算符可以被重载:::,.,->,*,?:不能被重载 重载操作符的标志(operator) ...

  • C++ 部分运算符重载

    可重载的运算符 不可重载的运算符和符号 重载运算符为类的成员函数 重载运算符为友元函数 重载赋值运算符 重载流插入...

  • 2019-07-11 运算符的重载

    运算符的重载 重载运算符 (“::”,“.*”,“.”,“?:”)不能被重载。 重载运算符时,不能改变其本质,如不...

  • Cocos2dx之C++基础(四)

    函数重载函数不以返回值来区分重载函数函数不以参数名来区分重载函数使用重载函数的时候不要引起二义性结构函数也可以重载...

  • C#多态的表现-方法重载,方法重写以及密封类的特点

    方法重载 方法重载:构造函数就属于特殊的方法重载 方法重载:是指同一个类中相同方法的不同行为 方法重载的特点: 1...

  • C语言到C++(4) - 重载

    C++中新增了重载功能,重载分为两部分,函数重载和运算符重载。 1. 函数重载 在C语言编程中,我们经常遇到一组函...

网友评论

      本文标题:13-02-重载

      本文链接:https://www.haomeiwen.com/subject/zszlxltx.html