這里,我做一個整合。
這里前期要極其注意修飾符之間的關系。
1.Main調用方法,其實我也不知道叫什么,大家看代碼吧。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { FarClass f = new FarClass(); f.print(); Console.ReadKey(); } class FarClass { public void print() { Console.WriteLine("Hello"); } } } }
2. 子類繼承父類
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //查看子類繼承情況 SubClass sub = new SubClass(); sub.Sfun(); sub.Bfun(); //實例父類 BaseClass Base = new BaseClass(); Base.Bfun(); Console.ReadKey(); } class BaseClass { public void Bfun() { Console.WriteLine("父類方法"); } } //子類繼承父類 class SubClass:BaseClass { public void Sfun() { Console.WriteLine("子類方法"); } } } }
3.子類重寫父類,父類關鍵字(Virtual),子類關鍵字(Override);
也就是擴展方法的意思,並且注意子類方法與父類方法重名。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //父類 BaseClass Basefun = new BaseClass(); Basefun.Basefun(); //擴展父類方法,注意實例的對象為子類 BaseClass Subfun = new SubClass(); Subfun.Basefun(); Console.ReadKey(); } class BaseClass { public virtual void Basefun() { Console.WriteLine("父類方法"); } } class SubClass:BaseClass { public override void Basefun() { Console.WriteLine("子類方法"); } } } }
4.使用NEW關鍵字隱藏,隱藏時,訪問父類則調用父類的方法,訪問子類則調用子類的方法。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { SubClass s = new SubClass(); s.Same(); BaseClass b = new BaseClass(); s.Same(); //new后,隱藏父類與子類同名方法 Console.ReadKey(); } class BaseClass { public void Same() { Console.WriteLine("父類相同方法"); } } class SubClass:BaseClass { new public void Same() { Console.WriteLine("子類相同方法"); } } } }
5.暫時寫到這里吧。。。。
