1,方法多載,相同的方法名稱,不同的參數類型、數量
class Program { static void Main(string[] args) { Program newObject = new Program(); //字符串 Console.WriteLine(newObject.Cal("44", "13")); //Decimal Console.WriteLine("數字相加結果:" + newObject.Cal(44, 13)); Console.Read(); } //方法多载(OverLoad) decimal Cal(decimal x, decimal y) { return (x + y); } string Cal(string x, string y) { return ("字符串相加結果:" + (x + y)); } }
2,繼承(Inheritance)與覆寫(Override)
Inheritance:一個類別繼承另外一個類別,子類擁有父類的屬性和方法。聲明類的時候直接在類名後加 冒號(:),然後指定父類名稱
Override:父類中使用Virtual定義方法表明此方法可以被覆寫,子類用Override來擴充或修改繼承的方法
class Program { static void Main(string[] args) { int x, y, result; Console.WriteLine("請輸入被除數"); x = int.Parse(Console.ReadLine()); Console.WriteLine("請輸入除數"); y = int.Parse(Console.ReadLine()); MyAdd newObject = new MyAdd(); result = newObject.Cal(x, y); Console.WriteLine("計算結果:\n{0}/{1}={2}", x, y, result); Console.ReadLine(); } //父類 public class MyCal { //virtual方法 public virtual int Cal(int x, int y) { return x * y; } } //子類 public class MyAdd : MyCal { //Override重寫 父類的 Virtual方法 public override int Cal(int x, int y) { return (x/y); } } }
3,接口(Interface)
接口即為抽象,接口類中只包含屬性和方法的定義,在子類中進行具體的實現
class Program { static void Main(string[] args) { //定義car Car car = new Car(); //把car轉換成IMove IMove Im = (IMove)car; Im.Move(); Console.ReadLine(); } //父類,定義接口 public interface IMove { void Move(); } //子類,實現接口 public class Car : IMove { //具體實現 public void Move() { Console.WriteLine("車子移動中"); } } }