C#
本隨筆為個人復習鞏固知識用,多從書上總結與理解歸納得來,如有錯誤煩請指正
面向物件的三大基本特征:封裝、繼承、多型
封裝在前面說過了
繼承:繼承是指一個類可以繼承另一個類(成為父類)的全部成員變數和方法,并進行擴展,重寫父類的方法,或添加新的成員方法和變數,
多型:多型是指將子類轉為父類不需要顯示的型別轉換,被轉為父類的物件仍然可以執行真正子類的多載方法,
所有C#類都是從System.Object派生出來的,
namespace ConsoleApp1 { //定義一個Enemy的基類 public class Enemy { //建構式 public Enemy() { Console.WriteLine("enemy construtor"); } //virtual表示該方法為虛方法,可以被子類重寫 public virtual void UpdateAI() { Console.WriteLine("update enemy ai"); } } //派生類Boss繼承自基類Enemy public class Boss : Enemy { //建構式 public Boss() { Console.WriteLine("boss constructor"); } //使用override關鍵詞重寫虛方法 //當子類被轉為父類時,重寫的虛方法依然能正確執行 public override void UpdateAI() { Console.WriteLine("update boss ai"); } } class Program { static void Main(string[] args) { Enemy[] enemies = new Enemy[2];//創建陣列,包括兩個Enemy基類 enemies[0] = new Enemy();//創建一個Enemy,執行Enemy的建構式 enemies[1] = new Boss();//創建一個Boss,先執行Enemy的建構式,再執行Boss的建構式 for(int i = 0; i < 2; i++) { //enemies[0]的型別是Enemy,會呼叫Enemy類的UpdateAI //enemies[1]的型別是Enemy,但它實際上是Boss //多型的原因,enemies[1]任然會呼叫Boss類的UpdateAI enemies[i].UpdateAI(); } Console.ReadKey(); } } }

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/232250.html
標籤:.NET技术
