最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【唐老獅】Unity系列之C#四部曲—C#核心

2023-08-09 04:32 作者:為了聯(lián)盟!  | 我要投稿

?
第1課:C#核心概述 P1 - 01:09
?

面向?qū)ο笕筇匦?/p>

面向?qū)ο笃叽笤瓌t

面向?qū)ο笙嚓P(guān)知識(shí)

?
第1課:C#核心概述 P1 - 01:59
?


------------------------------------------------------------------------------

面向?qū)ο蠡靖拍?/span>

?
第2課:面向?qū)ο缶幊袒靖拍?P2 - 01:03
?

?
第2課:面向?qū)ο缶幊袒靖拍?P2 - 01:08
?

把相關(guān)數(shù)據(jù)和方法組織為一個(gè)整體來(lái)看待,更貼近事物的自然運(yùn)行模式

用程序來(lái)抽象對(duì)象

?
第2課:面向?qū)ο缶幊袒靖拍?P2 - 03:54
?

?
第2課:面向?qū)ο缶幊袒靖拍?P2 - 05:06
?

類:class 關(guān)鍵字

三大特性:封裝 + 繼承 + 多態(tài)

七大原則:開閉原則、依賴倒轉(zhuǎn)原則、里氏替換原則、單一職責(zé)原則、接口隔離原則、合成復(fù)用原則、迪米特法則

?
第2課:面向?qū)ο缶幊袒靖拍?P2 - 05:54
?

------------------------------------------------------------------------------

類和對(duì)象

?
第3課:類和對(duì)象 P3 - 02:22
?

一般在namespace語(yǔ)句塊中

?
第3課:類和對(duì)象 P3 - 03:06
?

class 類名 { 成員變量; 成員方法; 成員屬性;構(gòu)造函數(shù); 析構(gòu)函數(shù);索引器;運(yùn)算符重載;靜態(tài)成員 }

class前可以加訪問(wèn)修飾符

?
第3課:類和對(duì)象 P3 - 05:11
?

  • 同一個(gè)語(yǔ)句塊中的不同類,不能重名
  • 用帕斯卡命名法命名

?
第3課:類和對(duì)象 P3 - 07:46
?

類的申明和類對(duì)象(變量)申明是兩個(gè)概念

類的申明類似枚舉和結(jié)構(gòu)體的申明,類的申明相當(dāng)于申明了一個(gè)自定義變量類型

?
第3課:類和對(duì)象 P3 - 09:40
?

類名 變量名;

類名 變量名 = null;

類名 變量名 = new 類名();

?
第3課:類和對(duì)象 P3 - 11:10
?

Person p; // 僅在棧中開辟一個(gè)空間儲(chǔ)存p

Person p2 = null; //同上

Person p3 = new Person(); //不僅在棧中開辟一個(gè)空間,同時(shí)在堆中也開辟了空間


------------------------------------------------------------------------------

類和對(duì)象練習(xí)題

(自己隨便舉個(gè)例子,視頻中用類寫的代碼太麻煩了)

int[] array1 = new int[] { 1, 2, 3 };

int[] array2 = array1;

array2[0] = 99;

Console.WriteLine(array1[0]);?// 輸出: 99

在這個(gè)例子中,array1 是一個(gè)數(shù)組,它包含了三個(gè)整數(shù)。array2array1 的一個(gè)新的引用,所以它們都指向同一個(gè)數(shù)組。

然后我們修改了 array2[0] 的值。由于 array2array1 指向的是同一個(gè)數(shù)組,所以當(dāng)我們通過(guò) array1[0] 訪問(wèn)數(shù)組的第一個(gè)元素時(shí),我們會(huì)看到已經(jīng)被修改過(guò)的值。


int[] array1 = new int[] { 1, 2, 3 };

int[] array2 = array1;

array2 = null;

Console.WriteLine(array1[0]);?// 輸出: 1

在這個(gè)例子中,即使我們把 array2 設(shè)置為 null,array1 仍然可以正常地訪問(wèn)原來(lái)的數(shù)組。這是因?yàn)?array2array1 是兩個(gè)獨(dú)立的引用,改變 array2 的指向并不會(huì)影響到 array1。


int[] array1 = new int[] { 1, 2, 3 };

int[] array2 = array1;

array2 = new int[] { 4, 2, 3 };

Console.WriteLine(array1[0]);?// 輸出: 1

Console.WriteLine(array2[0]);?// 輸出: 4

你可以看到,盡管我們改變了 array2 的值,但是 array1 仍然保持不變,它仍然指向原來(lái)的數(shù)組。這是因?yàn)?array2array1 是兩個(gè)獨(dú)立的引用,改變 array2 的指向并不會(huì)影響到 array1。

------------------------------------------------------------------------------

成員變量和訪問(wèn)修飾符

?
第5課:成員變量和訪問(wèn)修飾符 P5 - 01:52
?

  • 申明在類語(yǔ)句塊中
  • 用來(lái)描述對(duì)象特征
  • 可以是任意變量類型
  • 是否賦值根據(jù)需求來(lái)定
  • 默認(rèn)都是private

?
第5課:成員變量和訪問(wèn)修飾符 P5 - 05:04
?

如果要在類中申明一個(gè)和自己相同類型的成員變量時(shí)不能對(duì)它進(jìn)行初始化

--------------------------

?
第5課:成員變量和訪問(wèn)修飾符 P5 - 11:04
?

  • public 公共的,自己(內(nèi)部)和外人(外部)都能訪問(wèn)和使用
  • private 私有的,自己(內(nèi)部)才能訪問(wèn)和使用,默認(rèn)
  • protected 保護(hù)的,自己(內(nèi)部)和子類才能訪問(wèn)和使用

--------------------------

?
第5課:成員變量和訪問(wèn)修飾符 P5 - 13:29
?

1.值類型的初始值:

  • 數(shù)字類型:0
  • 布爾值:false
  • char:空字符

2. 引用類型:null

查看默認(rèn)值的代碼:default(數(shù)據(jù)類型)

------------------------------------------------------------------------------

成員方法

?
第7課:成員方法 P7 - 00:29
?

  • 函數(shù),用來(lái)表現(xiàn)對(duì)象行為;
  • 申明在類語(yǔ)句塊中,規(guī)則和函數(shù)相同,受到訪問(wèn)修飾符的影響;
  • 成員方法不加static關(guān)鍵字;
  • 受到訪問(wèn)修飾符影響

?
第7課:成員方法 P7 - 08:17
?

  • 成員方法必須實(shí)例化出對(duì)象,再通過(guò)對(duì)象來(lái)使用,相當(dāng)于該對(duì)象執(zhí)行了某個(gè)行為;

------------------------------------------------------------------------------

構(gòu)造函數(shù)和析構(gòu)函數(shù)

?
第9課:構(gòu)造、析構(gòu)、垃圾回收 P8 - 00:50
?

在實(shí)例化對(duì)象時(shí),會(huì)調(diào)用的用語(yǔ)初始化的函數(shù)

如果不寫,默認(rèn)存在一個(gè)無(wú)參構(gòu)造函數(shù)


寫法:

  • 沒(méi)有返回值
  • 函數(shù)名和類名相同
  • 沒(méi)有特殊需求時(shí),一般都是public的
  • 構(gòu)造函數(shù)可以被重載
  • this代表當(dāng)前調(diào)用該函數(shù)的對(duì)象自己

----

?
第9課:構(gòu)造、析構(gòu)、垃圾回收 P8 - 04:02
?

但結(jié)構(gòu)體不允許

----

?
第9課:構(gòu)造、析構(gòu)、垃圾回收 P8 - 07:39
?

如果不自己實(shí)現(xiàn)無(wú)參構(gòu)造函數(shù),而實(shí)現(xiàn)了有參構(gòu)造函數(shù),會(huì)失去默認(rèn)的無(wú)參構(gòu)造

--------------------------

?
第9課:構(gòu)造、析構(gòu)、垃圾回收 P8 - 09:08
?

通過(guò)this重用構(gòu)造函數(shù)代碼

格式:

  1. 調(diào)用無(wú)參的重構(gòu)函數(shù):public 類名(參數(shù)): this() { 代碼塊 }; // 注意this前面的冒號(hào)
  2. 調(diào)用其他有參的重構(gòu)函數(shù):public 類名(參數(shù)): this( 參數(shù) ) { 代碼塊 };

小trick:

?
第9課:構(gòu)造、析構(gòu)、垃圾回收 P8 - 10:57
?

=================

一個(gè)代碼示例:

public class Rectangle

{

??private int width;

??private int height;


??// 默認(rèn)構(gòu)造函數(shù)

??public Rectangle() : this(1, 1)

??{

??}


??// 參數(shù)構(gòu)造函數(shù)

??public Rectangle(int width, int height)

??{

????this.width = width;

????this.height = height;

??}


??// 只有一個(gè)參數(shù)的構(gòu)造函數(shù)

??public Rectangle(int side) : this(side, side)

??{

??}


??public void Display()

??{

????Console.WriteLine("Width: {0}, Height: {1}", width, height);

??}

}

在這個(gè)例子中,我們有一個(gè)Rectangle類,它有三個(gè)構(gòu)造函數(shù):

  1. 一個(gè)沒(méi)有參數(shù)的構(gòu)造函數(shù),它通過(guò): this(1, 1)調(diào)用另一個(gè)構(gòu)造函數(shù),將寬度和高度都設(shè)置為1。
  2. 一個(gè)接受兩個(gè)參數(shù)的構(gòu)造函數(shù),它直接設(shè)置寬度和高度。
  3. 一個(gè)只接受一個(gè)參數(shù)的構(gòu)造函數(shù),它通過(guò): this(side, side)調(diào)用另一個(gè)構(gòu)造函數(shù),將寬度和高度都設(shè)置為同一個(gè)值。

這樣,無(wú)論你使用哪個(gè)構(gòu)造函數(shù)創(chuàng)建Rectangle對(duì)象,寬度和高度都會(huì)被正確地初始化。例如:

Rectangle rect1 = new Rectangle();

rect1.Display();?// 輸出 "Width: 1, Height: 1"


Rectangle rect2 = new Rectangle(3, 4);

rect2.Display();?// 輸出 "Width: 3, Height: 4"


Rectangle rect3 = new Rectangle(5);

rect3.Display();?// 輸出 "Width: 5, Height: 5"

================


?
第9課:構(gòu)造、析構(gòu)、垃圾回收 P8 - 16:16
?

當(dāng)引用類型的堆內(nèi)存被回收時(shí),會(huì)調(diào)用該函數(shù)

對(duì)于需要手動(dòng)管理內(nèi)存的語(yǔ)言,比如C++,需要在析構(gòu)函數(shù)中做一些內(nèi)存回收處理;但c#存在自動(dòng)垃圾回收機(jī)制GC

--------------------------

?
第9課:構(gòu)造、析構(gòu)、垃圾回收 P8 - 21:07
?

建議反復(fù)觀看,重點(diǎn)

分代算法

三級(jí)內(nèi)存

主動(dòng)垃圾回收

?
第9課:構(gòu)造、析構(gòu)、垃圾回收 P8 - 37:25
?

------------------------------------------------------------------------------

成員屬性

?
第11課:成員屬性 P9 - 01:34
?

用于保護(hù)成員變量

為成員屬性的獲取和賦值添加邏輯處理

解決public、private、protect的權(quán)限問(wèn)題

屬性可以讓成員變量在外部只能獲取不能修改或者只能修改不能獲取


?
第11課:成員屬性 P9 - 03:10
?

語(yǔ)法:

================

訪問(wèn)修飾符 屬性類型 屬性名

{

get

{

//可以返回之前添加i一些邏輯規(guī)則

//意味著這個(gè)屬性可以獲取的內(nèi)容

return

}

set

{

//可以再設(shè)置之前添加一些邏輯規(guī)則

//value 關(guān)鍵字 用于表示外部傳入的值

name = value;

}

}

================

?
第11課:成員屬性 P9 - 08:57
?

--------------------------

?
第11課:成員屬性 P9 - 16:57
?

get/set前可以加訪問(wèn)修飾符

默認(rèn)不加,會(huì)使用屬性申明時(shí)的訪問(wèn)權(quán)限

加的訪問(wèn)修飾符要低于屬性的訪問(wèn)權(quán)限

不能讓get和set的訪問(wèn)權(quán)限都低于屬性的權(quán)限

--------------------------

?
第11課:成員屬性 P9 - 22:27
?

一般是只有g(shù)et(只能得),沒(méi)有set(不能改)

--------------------------

?
第11課:成員屬性 P9 - 25:50
?

作用:外部能得不能改得特征

如果類中有一個(gè)特征時(shí)只希望外部能得不能改的,又沒(méi)什么特殊處理

那么可以直接使用自動(dòng)屬性

================

訪問(wèn)修飾符 屬性類型 屬性名

{

get; // 沒(méi)有大括號(hào)

set;

================

?
第11課:成員屬性 P9 - 30:56
?

------------------------------------------------------------------------------

索引器

?
第13課:索引器 P10 - 01:26
?

讓對(duì)象可以像數(shù)組一樣通過(guò)索引訪問(wèn)其中元素,使程序看起來(lái)更直觀、更容易編寫

?
第13課:索引器 P10 - 01:43
?

訪問(wèn)修飾符 返回值 this[參數(shù)理性 參數(shù)名,參數(shù)類型 參數(shù)名 ... ... ]

{

內(nèi)部的寫法和規(guī)則和索引器相同

get{}

set{}

}

?
第13課:索引器 P10 - 05:56
?

?
第13課:索引器 P10 - 08:23
?

?
第13課:索引器 P10 - 12:32
?

仍舊不關(guān)注返回值,只有參數(shù)不同的區(qū)分

?
第13課:索引器 P10 - 18:53
?

讓我們可以以中括號(hào)的形式范圍自定義類中的元素,規(guī)則自己頂,訪問(wèn)時(shí)和數(shù)組一樣

比較適用于 在類中有數(shù)組變量時(shí)使用,可以方便的訪問(wèn)和進(jìn)行邏輯處理

注意:

結(jié)構(gòu)體里面也支持索引器

------------------------------------------------------------------------------

靜態(tài)成員

?
第15課:靜態(tài)成員 P11 - 01:39
?

關(guān)鍵字 static

用static修飾的成員變量、方法、屬性

稱為靜態(tài)成員

特點(diǎn):直接用類名點(diǎn)出使用

--------------------------

?
第15課:靜態(tài)成員 P11 - 02:14
?

--------------------------

?
第15課:靜態(tài)成員 P11 - 03:23
?

--------------------------

?
第15課:靜態(tài)成員 P11 - 06:15
?

--------------------------

?
第15課:靜態(tài)成員 P11 - 08:59
?

靜態(tài)成員具有唯一性

--------------------------

?
第15課:靜態(tài)成員 P11 - 12:49
?

成員變量只能將對(duì)象實(shí)例化出來(lái)后,才能點(diǎn)出來(lái)使用,不能無(wú)中生有

--------------------------

?
第15課:靜態(tài)成員 P11 - 14:55
?

因?yàn)榉庆o態(tài)成員和靜態(tài)成員的生命周期有明顯差異

--------------------------

?
第15課:靜態(tài)成員 P11 - 16:58
?

常用唯一變了的申明

方便別人獲取對(duì)象申明

靜態(tài)方法:

常用的唯一的方法申明,比如 相同規(guī)則的數(shù)學(xué)計(jì)算相關(guān)函數(shù)


靜態(tài)內(nèi)存不會(huì)被垃圾回收,一般用在全局共享數(shù)據(jù)上

--------------------------

?
第15課:靜態(tài)成員 P11 - 20:23
?

常量可以理解為特殊的static

常量必須初始化,不能修改

const只能修飾變量的

const一定是寫在訪問(wèn)修飾符后面的

--------------------------

?
第15課:靜態(tài)成員 P11 - 23:53
?

------------------------------------------------------------------------------

靜態(tài)類和靜態(tài)構(gòu)造函數(shù)

?
第17課:靜態(tài)類和靜態(tài)構(gòu)造函數(shù) P12 - 01:35
?

用static修飾的類

特點(diǎn):

- 只能包含靜態(tài)成員

- 不能被實(shí)例化

作用:

- 將常用的靜態(tài)成員寫在靜態(tài)類中,方便使用

- 靜態(tài)類不能被實(shí)例化,更能體現(xiàn)工具類的唯一性

  1. ?
    第17課:靜態(tài)類和靜態(tài)構(gòu)造函數(shù) P12 - 04:40
    ?
  2. 靜態(tài)類和普通類都可以有
  3. 不能使用訪問(wèn)修飾符
  4. 不能有參數(shù)
  5. 只會(huì)自動(dòng)調(diào)用一次

?
第17課:靜態(tài)類和靜態(tài)構(gòu)造函數(shù) P12 - 08:38
?

?
第17課:靜態(tài)類和靜態(tài)構(gòu)造函數(shù) P12 - 12:25
?


------------------------------------------------------------------------------

拓展方法

?
第19課:拓展方法 P13 - 01:22
?

為現(xiàn)有的非靜態(tài) 變量類型添加 新方法

?
第19課:拓展方法 P13 - 02:24
?

?
第19課:拓展方法 P13 - 03:17
?

?
第19課:拓展方法 P13 - 06:25
?

?
第19課:拓展方法 P13 - 11:32
?

如果拓展方法和原類中的方法重名,那么被原類中的方法覆蓋

?
第19課:拓展方法 P13 - 14:38
?

------------------------------------------------------------------------------

運(yùn)算符重載

讓自定義類和結(jié)構(gòu)體能夠使用運(yùn)算符

關(guān)鍵字:operator

特點(diǎn):

  • 一定是公共的靜態(tài)方法
  • 返回值寫在operator前
  • 邏輯處理自定義

?
第21課:運(yùn)算符重載 P14 - 02:52
?

?
第21課:運(yùn)算符重載 P14 - 12:36
?

?
第21課:運(yùn)算符重載 P14 - 18:23
?

------------------------------------------------------------------------------

內(nèi)部類和分布類

?
第23課:內(nèi)部類和分部類 P15 - 02:39
?

?
第23課:內(nèi)部類和分部類 P15 - 07:30
?

把一個(gè)類分成幾部分申明

?
第23課:內(nèi)部類和分部類 P15 - 11:49
?

------------------------------------------------------------------------------

繼承的基本概念

?
第24課:繼承的基本概念 P16 - 01:30
?

子類只能有一個(gè)父類(c#是單繼承)

子類可以間接繼承父類的父類

?
第24課:繼承的基本概念 P16 - 04:33
?

?
第24課:繼承的基本概念 P16 - 05:15
?

?
第24課:繼承的基本概念 P16 - 13:17
?

父類的private修飾的成員子類都不能使用

所以用protected修飾(外部不允許訪問(wèn),但子類能用)

?
第24課:繼承的基本概念 P16 - 16:42
?

?
第24課:繼承的基本概念 P16 - 19:41
?


------------------------------------------------------------------------------

里氏替換原則

?
第26課:里氏替換原則 P17 - 01:54
?

任何父類出現(xiàn)的地方,子類都可以替代

重點(diǎn):父類容器能裝子類對(duì)象

作用:方便進(jìn)行對(duì)象的存儲(chǔ)和管理

?
第26課:里氏替換原則 P17 - 02:43
?

父類 變量名 = new 子類

?
第26課:里氏替換原則 P17 - 07:51
?

?
第26課:里氏替換原則 P17 - 16:04
?

注意:不能用子類容器去裝父類對(duì)象

------------------------------------------------------------------------------

繼承中的構(gòu)造函數(shù)

?
第28課:繼承中的構(gòu)造函數(shù) P18 - 01:05
?

注意:有參構(gòu)造會(huì)頂?shù)裟J(rèn)的無(wú)參構(gòu)造,如果想保留無(wú)參構(gòu)造需要重載出來(lái)

?
第28課:繼承中的構(gòu)造函數(shù) P18 - 02:54
?

當(dāng)申明一個(gè)子類對(duì)象時(shí),先執(zhí)行父類的構(gòu)造函數(shù),再執(zhí)行子類的構(gòu)造函數(shù)

?
第28課:繼承中的構(gòu)造函數(shù) P18 - 06:58
?

?
第28課:繼承中的構(gòu)造函數(shù) P18 - 09:49
?

?
第28課:繼承中的構(gòu)造函數(shù) P18 - 15:45
?

------------------------------------------------------------------------------

萬(wàn)物之父和裝箱拆箱

?
第30課:萬(wàn)物之父和裝箱拆箱 P19 - 00:54
?

?
第30課:萬(wàn)物之父和裝箱拆箱 P19 - 01:43
?

object時(shí)所有類型的基類,它是一個(gè)類(引用類型)

  1. 可以用里氏替換原則,用object容器裝所有對(duì)象
  2. 可以用來(lái)表示不確定類型,作為函數(shù)參數(shù)類型

?
第30課:萬(wàn)物之父和裝箱拆箱 P19 - 03:40
?

?
第30課:萬(wàn)物之父和裝箱拆箱 P19 - 09:00
?

用object存值類型(裝箱)

把object轉(zhuǎn)為值類型(拆箱)

?
第30課:萬(wàn)物之父和裝箱拆箱 P19 - 14:47
?

------------------------------------------------------------------------------

密封類

?
第32課:密封類 P20 - 00:39
?

使用sealed密封關(guān)鍵字修飾的類,讓類無(wú)法再被繼承

?
第32課:密封類 P20 - 02:41
?

不允許最底層子類被繼承

------------------------------------------------------------------------------

多態(tài)-Vob

?
第34課:多態(tài)vob P21 - 02:28
?

讓繼承同一父類的子類們,在執(zhí)行相同方法時(shí)有不同的表現(xiàn)(狀態(tài))

主要目的:

同一父類的對(duì)象,執(zhí)行相同的行為(方法)有不同的表現(xiàn)

?
第34課:多態(tài)vob P21 - 03:39
?

?
第34課:多態(tài)vob P21 - 07:42
?

  1. 編譯時(shí)多態(tài):函數(shù)重載,開始就寫好的
  2. 運(yùn)行時(shí)多態(tài):vob、抽象函數(shù)、接口

vob:virtual(虛函數(shù))、override(重寫)、base(父類)


虛函數(shù):用來(lái)給子類重寫

------------------------------------------------------------------------------

抽象類和抽象方法

?
第36課:抽象類和抽象函數(shù) P22 - 00:29
?

被抽象關(guān)鍵字abstract修飾的類

  1. 不能被實(shí)例化的類
  2. 可以包含抽象方法
  3. 繼承抽象類必須重寫其抽象方法

?
第36課:抽象類和抽象函數(shù) P22 - 04:24
?

  1. 只能在抽象類中申明
  2. 沒(méi)有方法體
  3. 不能是私有的
  4. 繼承后必須實(shí)現(xiàn),用override重寫

?
第36課:抽象類和抽象函數(shù) P22 - 09:17
?

虛方法有方法體,但抽象方法沒(méi)有;

虛方法可以選擇性實(shí)現(xiàn),但抽象方法必須在子類中實(shí)現(xiàn)


抽象方法必須寫在抽象類中,虛方法沒(méi)有限制

?
第36課:抽象類和抽象函數(shù) P22 - 12:45
?

抽象類和抽象方法主要用于整體框架設(shè)計(jì)時(shí)

------------------------------------------------------------------------------

接口

?
第38課:接口 P23 - 00:51
?

接口是行為的抽象規(guī)范

它也是一種自定義類型,關(guān)鍵字:interface


申明規(guī)范:

  1. 不包含成員變量
  2. 只包含方法、屬性、索引器、事件
  3. 成員不能被實(shí)現(xiàn)
  4. 成員可以不用寫訪問(wèn)修飾符,不能是私有的
  5. 接口不能繼承類,但可以繼承另一個(gè)接口


使用規(guī)范:

  1. 類可以繼承多個(gè)接口
  2. 類繼承接口后,必須事先接口中所有成員


特點(diǎn):

  1. 它和類的申明類似
  2. 接口是用來(lái)繼承的
  3. 接口不能被實(shí)例化,但是可以作為容器存儲(chǔ)對(duì)象

--------------------------

?
第38課:接口 P23 - 03:18
?

interface 接口名{}

接口是抽象行為的基類

接口命名規(guī)范:帕斯卡前面加個(gè)I

--------------------------

?
第38課:接口 P23 - 08:44
?

--------------------------

?
第38課:接口 P23 - 20:38
?

--------------------------

?
第38課:接口 P23 - 23:04
?

當(dāng)一個(gè)類繼承兩個(gè)接口,但是接口中存在同名方法時(shí)

顯式實(shí)現(xiàn)接口時(shí),不能寫訪問(wèn)修飾符

--------------------------

?
第38課:接口 P23 - 29:19
?

------------------------------------------------------------------------------

密封方法

?
第40課:密封函數(shù) P24 - 01:19
?

用密封關(guān)鍵字sealed修飾的重寫函數(shù)

讓虛方法和抽象方法之后不能再被重寫

特點(diǎn):和override一起出現(xiàn)

?
第40課:密封函數(shù) P24 - 02:13
?

------------------------------------------------------------------------------

命名空間

?
第41課:命名空間 P25 - 00:49
?

?
第41課:命名空間 P25 - 02:31
?

?
第41課:命名空間 P25 - 03:51
?

using 空間

或者 空間名.變量

?
第41課:命名空間 P25 - 08:42
?

不同namespace中允許有同名類

?
第41課:命名空間 P25 - 12:14
?

?
第41課:命名空間 P25 - 15:25
?

命名空間中的類默認(rèn)為internal

?
第41課:命名空間 P25 - 16:58
?

------------------------------------------------------------------------------

萬(wàn)物之父的方法

?
第43課:萬(wàn)物之父中的方法 P26 - 01:11
?

?
第43課:萬(wàn)物之父中的方法 P26 - 07:12
?

?
第43課:萬(wàn)物之父中的方法 P26 - 07:42
?


------------------------------------------------------------------------------

String

本質(zhì)上是一個(gè)密封類

?
第45課:string P27 - 01:22
?

字符串本質(zhì)就是char數(shù)組,可以通過(guò)數(shù)組的形式來(lái)訪問(wèn)

可以轉(zhuǎn)化為char數(shù)組

有l(wèi)ength屬性,表述string長(zhǎng)度

?
第45課:string P27 - 04:46
?

Format函數(shù)

?
第45課:string P27 - 06:26
?

?
第45課:string P27 - 08:40
?

?
第45課:string P27 - 10:45
?

Remove函數(shù)

str的修改方法都會(huì)返回一個(gè)新的字符串

?
第45課:string P27 - 14:10
?

Replace函數(shù)

?
第45課:string P27 - 15:38
?

?
第45課:string P27 - 17:58
?

Substring方法

?
第45課:string P27 - 21:20
?

重點(diǎn)

Split函數(shù),以某種符號(hào)作為分隔符,切分字符串

------------------------------------------------------------------------------

StringBuilder

用于處理字符串的公共類

修改字符串而不創(chuàng)建新的對(duì)象,需要頻繁修改和拼接的字符串可以使用它,可以提升性能

?
第47課:StringBuilder P28 - 02:37
?

using System. Text

?
第47課:StringBuilder P28 - 04:33
?

自動(dòng)擴(kuò)容

獲得容量:Capacity

獲得字符長(zhǎng)度:Length

?
第47課:StringBuilder P28 - 10:04
?





------------------------------------------------------------------------------

結(jié)構(gòu)體和類的區(qū)別

?
第49課:結(jié)構(gòu)體和類的區(qū)別 P29 - 01:26
?

  1. 存儲(chǔ)位置不同,一個(gè)在棧上,一個(gè)在堆上
  2. 結(jié)構(gòu)體具有封裝的特性,但不具備繼承和多態(tài)的特性,因此大大減少了它的使用頻率
  3. 由于結(jié)構(gòu)體不具備繼承的特性,所以它不能夠使用protected保護(hù)訪問(wèn)修飾符

?
第49課:結(jié)構(gòu)體和類的區(qū)別 P29 - 02:58
?

--------------------------

?
第49課:結(jié)構(gòu)體和類的區(qū)別 P29 - 04:58
?

結(jié)構(gòu)體可以繼承 接口,因?yàn)榻涌谑切袨榈某橄?/p>

--------------------------

?
第49課:結(jié)構(gòu)體和類的區(qū)別 P29 - 05:37
?

對(duì)象是數(shù)據(jù)集合時(shí),優(yōu)先考慮結(jié)構(gòu)體,比如位置、坐標(biāo)等等

從值類型和引用類型賦值時(shí)的區(qū)別上考慮

------------------------------------------------------------------------------

抽象類和接口的區(qū)別

?
第50課:抽象類和接口的區(qū)別 P30 - 01:08
?

?
第50課:抽象類和接口的區(qū)別 P30 - 01:56
?

?
第50課:抽象類和接口的區(qū)別 P30 - 02:28
?

?
第50課:抽象類和接口的區(qū)別 P30 - 03:36
?

------------------------------------------------------------------------------

總結(jié)

?
第51課:C#核心總結(jié) P31 - 00:41
?






【唐老獅】Unity系列之C#四部曲—C#核心的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
松桃| 通山县| 留坝县| 南召县| 古蔺县| 鹰潭市| 克什克腾旗| 贵州省| 筠连县| 大安市| 车险| 石台县| 阿勒泰市| 长垣县| 临西县| 格尔木市| 内乡县| 蛟河市| 三原县| 巴彦淖尔市| 绥中县| 南阳市| 藁城市| 北碚区| 惠水县| 普兰县| 日喀则市| 驻马店市| 丰都县| 吉首市| 当雄县| 彝良县| 重庆市| 区。| 溧阳市| 蛟河市| 夏邑县| 阿坝| 东宁县| 定结县| 顺昌县|