C#-get/set和方法過載
阿新 • • 發佈:2019-02-07
/* 屬性的應用。 */ using System; using System.Collections.Generic; using System.Collections; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { CircleArea cl=new CircleArea(); cl.Radius = double.Parse(Console.ReadLine()); Console.WriteLine(cl.GetArea()); Console.ReadKey(); } } class CircleArea{ private double radius; const double PI=3.14; public double Radius{ get{return radius;} set{ if(value >0) radius=value; else Console.WriteLine("overflow error!"); } } public double GetArea(){ return PI*radius*radius; } } }
/* 編寫一個名為MyClass的類,在該類中編寫一個方法,名稱為CountChar,返回值為整型,引數有兩個,第一個引數可以是字串、 整數、單精度、雙精度,第二個引數為字元,方法功能返回第二個引數在第一個引數中出現的次數。 例如:,CountChar("6221982",'2')返回值為3。 */ using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { Console.WriteLine("出現次數為:{0}",MyClass.CountChar("6221982", '2')); Console.WriteLine("出現次數為:{0}", MyClass.CountChar(629.2223, '2')); Console.WriteLine("出現次數為:{0}", MyClass.CountChar(45652332, '2')); Console.WriteLine("出現次數為:{0}", MyClass.CountChar("6221982", '2')); Console.ReadKey(); } } class MyClass { public static int CountChar(string s, char c) { int count = 0; char[] a = s.ToCharArray(); for (int i = 0; i < a.Length; i++) { if (a[i] == c) count++; } return count; } public static int CountChar(float s, char c) { int count = 0; char[] a = s.ToString().ToCharArray(); for (int i = 0; i < a.Length; i++) { if (a[i] == c) count++; } return count; } public static int CountChar(int s, char c) { int count = 0; char[] a = s.ToString().ToCharArray(); for (int i = 0; i < a.Length; i++) { if (a[i] == c) count++; } return count; } public static int CountChar(double s, char c) { int count = 0; char[] a = s.ToString().ToCharArray(); for (int i = 0; i < a.Length; i++) { if (a[i] == c) count++; } return count; } } }
執行結果:
注意:
如果派生類與基類有相同的名稱或簽名的成員,那麼在派生類中就隱藏了基類成員。如果派生類是有意隱藏基類成員,可在派生類成員宣告中加new修飾符。