using System;
namespace Class9_Overload
{
internal class Program
{
//函数的重载 函数的名字相同 但是签名不一样
//方法签名 不包括 返回值类型 其他都一样 只有返回值类型不一样 那个不是重载 不满足定义
//该参数的名字也不行 需要种类不一样
public static void Main(string[] args)
{
Console.WriteLine();
Caculater c = new Caculater();
int result = c.Add(9,9,9); //按照需要加入参数 自动调用重载的函数即可
Console.WriteLine(result);
}
}
class Caculater
{
public int Add(int a, int b)
{
return a + b;
}
public double Add(double x, int y) //与上面的名字 参数列表完全一致 仅有返回值类型不一样
{
return x + y;
}
public int Add(int a, int b, int c)
{
return a + b + c;
}
}
}
//方法签名的组成:
//方法的名称
//形参的个数
//形参的类型 int double byte 从左到右
//参数种类
//传值的
//传引用的 ref int a;
//输出参数
//重载决策
//传参数的类型 决定你想调用什么方法
3. debug
//方法的定义 调用 调试
using System;
namespace Class8
{
internal class Program
{
public static void Main(string[] args)
{
Caculator c = new Caculator(); // Caculator 实力化一个对象
Console.WriteLine(Caculator.GetCircleArea(10));
//debug
double a = Caculator.GetCircleArea(9);
Console.WriteLine("a 的面积是:" + a);
//计算体积
double TiJi = Caculator.GetCylinderVolume(100, 20);
Console.WriteLine("计算出来的体积是:" + TiJi);
}
}
class Caculator
{
public static double GetCircleArea(double r) //计算圆的面积
{
return Math.PI * r * r;
//断点已经被触发
//为什么会触发?
//谁调用了它?
//为什么这个方法会被调用?
}
public static double GetCylinderVolume(double r, double h)
{
return GetCircleArea(r) * h; //进行重复使用改动值比较方便
}
public double GetConeVolume(double r, double h) //计算圆锥体积
{
return GetCircleArea(r) * h / 3;
}
}
}