C#/.net學習-9-面向對象繼承1
2019-11-10 18:28:05
供稿:網友
1、命名空間可以認為類是屬于命名空間的。如果在當前項目中沒有這個類的命名空間,需要我們手動的導入這個類所在的命名空間。1)、用鼠標去點2)、alt+shift+F103)、記住命名空間,手動的去引用2、在一個項目中引用另一個項目的類1)、添加引用2)、引用命名空間3、值類型和引用類型區別:1、值類型和引用類型在內存上存儲的地方不一樣。2、在傳遞值類型和傳遞引用類型的時候,傳遞的方式不一樣。值類型我們稱之為值傳遞,引用類型我們稱之為引用傳遞。我們學的值類型和引用類型:值類型:int、double、bool、char、decimal、struct、enum引用類型:string、自定義類、數組存儲:值類型的值是存儲在內存的棧當中。引用類型的值是存儲在內存的堆中。3、字符串1)、字符串的不可變性當你給一個字符串重新賦值之后,老值并沒有銷毀,而是重新開辟一塊空間存儲新值。當程序結束后,GC掃描整個內存,如果發現有的空間沒有被指向,則立即把它銷毀。2)、我們可以講字符串看做是char類型的一個只讀數組。ToCharArray();將字符串轉換為char數組new string(char[] chs):能夠將char數組轉換為字符串4、字符串提供的各種方法1)、Length:獲得當前字符串中字符的個數2)、ToUpper():將字符轉換成大寫形式3)、ToLower():將字符串轉換成小寫形式4)、Equals(lessonTwo,StringComparison.OrdinalIgnoreCase):比較兩個字符串,可以忽略大小寫5)、Split():分割字符串,返回字符串類型的數組。6)、Substring():解決字符串。在截取的時候包含要截取的那個位置。7)、IndexOf():判斷某個字符串在字符串中第一次出現的位置,如果沒有返回-1、值類型和引用類型在內存上存儲的地方不一樣。8)、LastIndexOf():判斷某個字符串在字符串中最后一次出現的位置,如果沒有同樣返回-19)、StartsWith():判斷以....開始10)、EndsWith():判斷以...結束11)、Replace():將字符串中某個字符串替換成一個新的字符串12)、Contains():判斷某個字符串是否包含指定的字符串13)、Trim():去掉字符串中前后的空格14)、TrimEnd():去掉字符串中結尾的空格15)、TrimStart():去掉字符串中前面的空格16)、string.IsNullOrEmpty():判斷一個字符串是否為空或者為null17)、string.Join():將數組按照指定的字符串連接,返回一個字符串。5、繼承我們可能會在一些類中,寫一些重復的成員,我們可以將這些重復的成員,單獨的封裝到一個類中,作為這些類的父類。Student、Teacher、Driver 子類 派生類Person 父類 基類子類繼承了父類,那么子類從父類那里繼承過來了什么?首先,子類繼承了父類的屬性和方法,但是子類并沒有繼承父類的私有字段。問題:子類有沒有繼承父類的構造函數?答:子類并沒有繼承父類的構造函數,但是。子類會默認的調用父類無參數的構造函數,創建父類對象,讓子類可以使用父類中的成員。所以,如果在父類中重新寫了一個有參數的構造函數之后,那個無參數的就被干掉了,子類就調用不到了,所以子類會報錯。解決辦法:1)、在父類中重新寫一個無參數的構造函數。2)、在子類中顯示的調用父類的構造函數,使用關鍵字:base()6、繼承的特性1、繼承的單根性:一個子類只能有一個父類。2、繼承的傳遞性7、查看類圖8、object是所有類的基類。9、new關鍵字1)、創建對象2)、隱藏從父類那里繼承過來的同名成員。隱藏的后果就是子類調用不到父類的成員