01. 方法重载
方法重载(静态多态性):
定义:同一类中,方法名相同,参数的列表与返回值不同。
1 /** 2 * 一: 利用多态性实现多功能计算器: 3 * 4 * 1)定义方法名为 computeMethod 的方法,实现加法器。 5 * 2)再定义方法名为 computeMethod 的方法,实现具备加减乘除综合计算功能。 6 * 3)在main 方法中调用以上方法,且测试。 7 */ 8 using System; 9 using System.Collections.Generic; 10 using System.Linq; 11 using System.Text; 12 using System.Threading.Tasks; 13 14 namespace SecondAssignment 15 { 16 class Program 17 { 18 // 定义computeMethod方法,实现加法器 19 public void computeMethod(int firstNumber, int secondNumber) 20 { 21 int _resultNumber = 0; 22 _resultNumber = firstNumber + secondNumber; 23 Console.WriteLine("第一个方法输出:"+_resultNumber); 24 } 25 // 定义computeMethod方法,实现加减乘除运算 26 public void computeMethod(int firstNumber, int secondNumber, string Operator) 27 { 28 int _resultNumber = 0; 29 switch (Operator) 30 { 31 case "+": 32 _resultNumber = firstNumber + secondNumber; 33 break; 34 case "-": 35 _resultNumber = firstNumber - secondNumber; 36 break; 37 case "*": 38 _resultNumber = firstNumber * secondNumber; 39 break; 40 case "/": 41 if (secondNumber != 0) 42 { 43 _resultNumber = firstNumber / secondNumber; 44 } 45 break; 46 default: 47 break; 48 } 49 Console.WriteLine("第一个方法输出:" + _resultNumber); 50 } 51 static void Main(string[] args) 52 { 53 Program p = new Program(); 54 //调用第一个方法 55 p.computeMethod(10, -50); 56 //调用第二个方法 57 p.computeMethod(10, 10, "*"); 58 Console.ReadKey(); 59 } 60 } 61 }
1 /** 2 * 二: 利用多态性实现如下功能。 3 * 4 * 1)定义一个Father 类,利用构造方法的 重载概念 定义三个构造方法。 5 * 2)定义 Child 类继承 Father 类,在Child的构造方法中分别调用父类不同的构造方法。 6 */ 7 using System; 8 using System.Collections.Generic; 9 using System.Linq; 10 using System.Text; 11 using System.Threading.Tasks; 12 13 namespace SecondAssignment 14 { 15 //1)定义一个 Father 类, 16 class Father 17 { 18 //利用构造方法的重载概念定义三个构造方法。 19 public Father(string name) 20 { 21 Console.WriteLine("这是一个参数的构造函数"); 22 } 23 public Father(int height,int weight) 24 { 25 Console.WriteLine("这是两个参数的构造函数"); 26 } 27 public Father(string name,int height,int weight) 28 { 29 Console.WriteLine("这是三个参数的构造函数"); 30 } 31 } 32 //2)定义 Child 类继承Father类,在Child的构造方法中分别调用父类不同的构造方法。 33 class Child:Father 34 { 35 public Child() : base("张先生") { } 36 public Child(int _chiHeight) : base(180, 80) { } 37 public Child(string _chiName, int _chiHeight, int _chiWeight) : base("刘先生", 180, 80) { } 38 } 39 }