C#基礎(chǔ)知識(shí)總結(jié)
C#基礎(chǔ)知識(shí)之sealed 修飾符是干什么的?
sealed 修飾符表示密封,用于類時(shí),表示該類不能再被繼承,不能和 abstract 同時(shí)使用,因?yàn)檫@兩個(gè)修飾符在含義上互相排斥,用于方法和屬性時(shí),表示該方法或?qū)傩圆荒茉俦焕^承,必須和 override 關(guān)鍵字一起使用,因?yàn)槭褂?sealed 修飾符的方法或?qū)傩钥隙ㄊ腔愔邢鄳?yīng)的虛成員,通常用于實(shí)現(xiàn)第三方類庫(kù)時(shí)不想被客戶端繼承,或用于沒(méi)有必要再繼承的類以防止濫用繼承造成層次結(jié)構(gòu)體系混亂,恰當(dāng)?shù)睦?sealed 修飾符也可以提高一定的運(yùn)行效率,因?yàn)椴挥每紤]繼承類會(huì)重寫該成員
示例:
- using System;
 - using System.Collections.Generic;
 - using System.Text;
 - namespace Example06 {
 - class Program {
 - class A {
 - public virtual void F(){
 - Console.WriteLine("A.F");
 - }
 - public virtual void G(){
 - Console.WriteLine("A.G");
 - }
 - class B : A {
 - public sealed override void F(){
 - Console.WriteLine("B.F");
 - }
 - public override void G(){
 - Console.WriteLine("B.G");
 - }
 - class C : B { public override void G(){
 - Console.WriteLine("C.G");
 - }
 - static void Main(string[] args){
 - new A()。F();new A()。G();
 - new B()。F();new B()。G();
 - new C()。F();new C()。G();
 - Console.ReadLine();
 - }
 
C#基礎(chǔ)知識(shí)之override 和 overload 的區(qū)別?
override 表示重寫,用于繼承類對(duì)基類中虛成員的實(shí)現(xiàn),overload 表示重載,用于同一個(gè)類中同名方法不同參數(shù)(包括類型不同或個(gè)數(shù)不同)的實(shí)現(xiàn)
示例:
- using System;
 - using System.Collections.Generic;
 - using System.Text;
 - namespace Example07 {
 - class Program {
 - class BaseClass {
 - public virtual void F(){
 - Console.WriteLine("BaseClass.F");
 - }
 - class DeriveClass : BaseClass {
 - public override void F(){
 - base.F();
 - Console.WriteLine("DeriveClass.F");
 - }
 - public void Add(int Left, int Right){
 - Console.WriteLine("Add for Int: {0}", Left + Right);
 - }
 - public void Add(double Left, double Right){
 - Console.WriteLine("Add for int: {0}", Left + Right);
 - }
 - static void Main(string[] args){
 - DeriveClass tmpObj = new DeriveClass();
 - tmpObj.F();
 - tmpObj.Add(1, 2);
 - tmpObj.Add(1.1, 2.2);
 - Console.ReadLine();
 - }
 
C#基礎(chǔ)知識(shí)之什么是索引指示器?
實(shí)現(xiàn)索引指示器(indexer)的類可以象數(shù)組那樣使用其實(shí)例后的對(duì)象,但與數(shù)組不同的是索引指示器的參數(shù)類型不僅限于int,簡(jiǎn)單來(lái)說(shuō),其本質(zhì)就是一個(gè)含參數(shù)屬性
示例:
- using System;
 - using System.Collections.Generic;
 - using System.Text;
 - namespace Example08 {
 - public class Point {
 - private double x, y;
 - public Point(double X, double Y){
 - x = X;y = Y;
 - }
 - //重寫ToString方法方便輸出
 - public override string ToString(){
 - return String.Format("X: {0} , Y: {1}", x, y);
 - }
 - public class Points {
 - Point[] points;public Points(Point[] Points){
 - points = Points;
 - }
 - public int PointNumber {
 - get {
 - return points.Length;
 - }
 - //實(shí)現(xiàn)索引訪問(wèn)器public Point this[int Index] {
 - get { return points[Index];
 - }
 - //感謝watson hua(http://huazhihao.cnblogs.com/)的指點(diǎn)
 - //索引指示器的實(shí)質(zhì)是含參屬性,參數(shù)并不只限于int class WeatherOfWeek {
 - public string this[int Index] {
 - get {
 - //注意case段使用return直接返回所以不需要break switch (Index){
 - case 0:{
 - return "Today is cloudy!";
 - }
 - case 5:{
 - return "Today is thundershower!";
 - }
 - default:{
 - return "Today is fine!";
 - }
 - public string this[string Day] {
 - get {
 - string TodayWeather = null;
 - //switch的標(biāo)準(zhǔn)寫法switch (Day){
 - case "Sunday":{
 - TodayWeather = "Today is cloudy!";break;
 - }
 - case "Friday":{
 - TodayWeather = "Today is thundershower!";
 - break;
 - }
 - default:{
 - TodayWeather = "Today is fine!";break;
 - }
 - return TodayWeather;
 - }
 - class Program {
 - static void Main(string[] args){
 - Point[] tmpPoints = new Point[10];
 - for (int i = 0; i < tmpPoints.Length; i++){
 - tmpPoints[i] = new Point(i, Math.Sin(i));
 - }
 - Points tmpObj = new Points(tmpPoints);
 - for (int i = 0; i < tmpObj.PointNumber; i++){
 - Console.WriteLine(tmpObj[i]);}
 - string[] Week = new string[] {
 - "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Staurday"
 - }
 - WeatherOfWeek tmpWeatherOfWeek = new WeatherOfWeek();
 - for (int i = 0; i < 6; i++){
 - Console.WriteLine(tmpWeatherOfWeek[i]);
 - }
 - foreach (string tmpDay in Week){
 - Console.WriteLine(tmpWeatherOfWeek[tmpDay]);
 - }
 - Console.ReadLine();
 - }
 
【編輯推薦】















 
 
 
 
 
 
 