『面向?qū)ο罄^承』0606.Net基礎(chǔ)班第十天

01、復(fù)習(xí)

使用對(duì)象調(diào)用構(gòu)造函數(shù)
this關(guān)鍵字

02、添加命名空間


添加命名空間

03、在一個(gè)項(xiàng)目中,引用另一個(gè)項(xiàng)目的類時(shí)
1)、添加引用
2)、引用命名空間

類的引用

04、值類型和引用類型
1)、值類型和引用類型在內(nèi)存上的存儲(chǔ)地方不同
2)、在傳遞的方式不同,值類型我們成為值傳遞,引用。。。
值類型:int \\double\\bool\\char\\decimal\\struct\\enum

引用類型:string 、自定義類、數(shù)組

值類型和引用類型在內(nèi)存中的分布

04、字符串『重點(diǎn)是字符串是引用類型!』
1)、字符串不可變性。
當(dāng)給一個(gè)字符串重新賦值時(shí),老值并沒有刪除。而是重新在堆空間,重新創(chuàng)建一個(gè)內(nèi)存空間。
當(dāng)程序結(jié)束后,也就是字符串沒有指向后。
當(dāng)GC掃描整個(gè)內(nèi)存,如果發(fā)現(xiàn)有的空間沒有被指向,立馬干掉清空!

2)、字符串的方法
string s1="張三";
string s2="張三";
使用“即時(shí)窗口”查看。
--我們可以理解字符串看做是一個(gè)char類型的只讀數(shù)組!
ToCharArray();將字符串轉(zhuǎn)換成char數(shù)組。
new string(char[] chs);可以將char數(shù)組轉(zhuǎn)換成為字符串。

一切的類型,都可以調(diào)用ToString();方法轉(zhuǎn)換成字符串類型。

4、字符串提供各種方法
1)、Length--直接可以獲得當(dāng)前字符串的個(gè)數(shù),即長(zhǎng)度。
2)、ToUpper()--將字符串的各個(gè)字符轉(zhuǎn)換成大寫形式
3)、ToLower()--將字符串的各個(gè)字符轉(zhuǎn)換成小寫形式
4)、Equals(LessonTwo,StringComparison.OrdinalIgnoreCase)--比較兩個(gè)字符串,忽略大小寫。
5)、Split()--分割字符串,返回字符串類型。

替換去指定的字符
替換以后,去空

重點(diǎn)用法!

//某個(gè)比較深得文件,且是特定的文件,如何找到。
//@消除\的轉(zhuǎn)義作用,按原文件賦值
string path = @"C:\a\c\v\f\g\s\s\ss\f\f\dd\肖生克的救贖.rmv";
//"\"兩個(gè)表是一個(gè)
int index = path.LastIndexOf("\");

        //str = str.Substring(1, 2);
        //Console.WriteLine(str);
        path = path.Substring(index + 1);

        Console.WriteLine(path);

6)、Substring--截取字符串。包含截取的參數(shù)位置。
7)、IndexOf--判斷某個(gè)字符或者字符串在字符串中第一次出現(xiàn)的位置,如果沒有返回-1;
8)、LastIndexOf()--判斷某個(gè)字符或者字符串在字符串中最后出現(xiàn)的位置,如果沒有返回-1;
9)、StartsWith()--判斷。。。以什么開始
10)、EndsWith()--判斷。。。以什么結(jié)束
11)、Replace()--將指定的字符或者字符串替換成新的字符或者字符串。
12)、Contains()--判斷某個(gè)字符串是否包含指定的字符串
13)、Trim();--去除字符串前后的空格。
14)、TrimStart();--去除字符串前的空格。
15)、TrimEnd();--去除字符串后的空格。
16)、string.IsNullorEmpty();--判斷一個(gè)字符串是否為空或者null;
17)、string.join();--將數(shù)組按照指定的字符串連接,返回字符串。

05、繼承
我們可能在一些類中,重復(fù)的寫一些成員,我們可以將這些重復(fù)的成員,單獨(dú)的封裝到一個(gè)類中,作為這些類的父類。
Student、Teacher、Driver 子類 派生類
Person 父類 基類
子類繼承了父類,那么子類從父類哪里繼承過來了什么?
首先,子類繼承了父類的屬性和方法,但是子類并沒有繼承父類的私有字段。『可以在對(duì)象調(diào)用,自動(dòng)的看到,但不可使用』

一個(gè)問題:子類有么有繼承父類的構(gòu)造函數(shù)?
答:子類并沒有繼承父類的構(gòu)造函數(shù),但是,子類會(huì)默認(rèn)的調(diào)用父類無參的構(gòu)造函數(shù),創(chuàng)建父類的對(duì)象,讓子類可以使用父類中的成員。
所以,如果父類中重寫了一個(gè)有參的構(gòu)造函數(shù),就會(huì)干掉無參的構(gòu)造函數(shù)。
子類就沒法調(diào)用不到無參的構(gòu)造函數(shù),此時(shí)寫繼承的子類就會(huì)集體報(bào)錯(cuò)。

解決方法:
1)、在父類中重新寫一個(gè)無參的構(gòu)造函數(shù)。
2)、在子類中顯示的調(diào)用父類的構(gòu)造函數(shù),使用關(guān)鍵字:base()

06、繼承的特性
1、繼承的單根性:一個(gè)子類只能有一個(gè)父類。
2、繼承的傳遞性

07、查看類圖

08、Object是所有類的基礎(chǔ)。

09、new關(guān)鍵字
1)、創(chuàng)建對(duì)象
2)、隱藏從父類哪里繼承過來的同名成員。
隱藏的后果就是子類調(diào)用不到父類的成員。

總結(jié):

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容