ps:本系列筆記將會記錄我此次在北京學習unity開發的總體過程,方便後期寫總結,筆記為日更。
筆記內容均為 自己理解,不保證每個都對。
c#筆記未按照難度排列
繼承是物件導向程式設計中最重要的概念之一。繼承允許我們根據乙個類來定義另乙個類,這使得建立和維護應用程式變得更容易。同時也有利於重用**和節省開發時間。
當建立乙個類時,程式設計師不需要完全重新編寫新的資料成員和成員函式,只需要設計乙個新的類,繼承了已有的類的成員即可。這個已有的類被稱為的基類(父類),這個新的類被稱為派生類(子類)。
繼承格式為
class 子類:父類
乙個父類可以有多個子類,乙個子類只能有乙個父類,但乙個子類可以通過介面的方式實現多重繼承。繼承後:子類能夠訪問父類的protected和public物件
所採用的父類均為:
class shape
public shape()
//例項構造方法
public shape(int width, int heigth)
//父類帶參構造方法
public void setheigth(int heigth) //賦值高度
public void setwidth(int width) //賦值寬度
}
單個繼承及其測試**:類:
//派生類
//子類能夠訪問 父類的 protected 和 public 的變數方法, 不能訪問private
class rectangle : shape
public rectangle()
//例項構造方法
public rectangle(int width, int heigth) : base(width, heigth)
//base傳參
public int getarea()
//訪問父類元素 訪問public 和 protected 定義的變數
}
測試**:
console.writeline("單個繼承測試:");
rectangle rectangle = new rectangle();
rectangle.setheigth(5);
rectangle.setwidth(6);
console.writeline(rectangle.getarea());
測試結果:
繼承時構造方法的呼叫順序為:子類靜態、父類靜態、父類構造、子類構造
繼承父類的子類訪問父類及其測試**:
類:
class newarea : rectangle
//靜態構造方法
public newarea()
//例項構造方法
public void printnumber()
//列印數字
}
測試**:
console.writeline();
console.writeline("繼承子類,訪問父類測試:");
newarea newarea = new newarea();
newarea.setheigth(12);
newarea.setwidth(12);
console.writeline(newarea.getarea());
newarea.printnumber();
測試結果:
乙個父類有多個繼承子類及其測試**:
類:********類和前文的rectangle類一樣繼承 父類shape
class ******** : shape
public ********()
//例項構造方法
public int gettriarea()
//訪問父類元素 訪問的是public
}
測試**:
console.writeline();
console.writeline("多個子類繼承父類測試:");
******** ******** = new ********();
********.setheigth(3);
********.setwidth(4);
console.writeline(********.gettriarea());
測試結果:
基類初始化及其測試**:
派生類繼承了基類的成員變數和成員方法。因此父類物件應在子類物件建立之前被建立。所以可以在成員初始化列表中進行父類的初始化。
類:
class rectangle : shape
public rectangle()
//例項構造方法
public rectangle(int width, int heigth) : base(width, heigth)
//base傳參
public int getarea()
//訪問父類元素 訪問public 和 protected 定義的變數
}
測試**:
console.writeline();
console.writeline("基類初始化測試:");
rectangle rec = new rectangle(6 , 6);
console.writeline(rec.getarea());
測試結果:
多重繼承及其測試**:
多重繼承指的是乙個類別可以同時從多於乙個父類繼承行為與特徵的功能。與單一繼承相對,單一繼承指乙個類別只可以繼承自乙個父類。
c# 不支援多重繼承。但是,可以使用介面來實現多重繼承。
介面:
public inte***ce circumference //定義乙個介面
類:
class square : shape, circumference
public square()
//例項構造方法
public square(int width, int heigth) : base(width, heigth)
//base傳參
public int getcircumference(int width)
//實現介面
}
測試結果: C 類的使用(四) 繼承
有時候,我們想要寫乙個類實現某些功能,但又想同時具備另乙個類的功能,這個時候,我就要用到類的第二大特點 繼承 class classa void setx int x intgetx protected int x 注意到我用的是protected而不是private,這是為繼承做準備 class ...
c 實驗5 1 類的繼承和使用
把定義平面直角座標系上的乙個點的類cpoint作為基類,派生出描述一條直線的類cline,再派生出乙個矩形類。要求成員函式能求出兩點間的距離,矩形的周長和面積。設計乙個測試程式,並構造完整的程式。using system using system.collections.generic using ...
C 05 實驗報告 繼承性和派生類
目錄 實驗目的 實驗任務 實驗內容 1實驗 2.執行結果 實驗小結 建立乙個樓房基類building為基類,用於儲存位址和樓號,建立住宅類house繼承building,用來儲存房號和面積,另外建立辦公室類office繼承building,儲存辦公室名稱和 號碼。基本要求 編制應用程式,建立住宅和辦...