抽象類
介面結構體和靜態類和密封
命名空間
運算子過載
using system;
//抽象類
#region
/* 1.用關鍵字abstract來修飾的類
(1).不能例項化物件
2.特點:(2).抽象類中既可以寫靜態的成員也可以寫非靜態的成員
(3)抽象類可以被繼承
(1)用關鍵字abstract修飾的方法就是抽象方法
抽象類:3.抽象方法:(2)抽象方法使用abstract修飾,只有宣告,沒有實現
(3)抽象方法只能寫在抽象類中:1.如果乙個非抽象類繼承自乙個抽象類那麼子類必須要重寫父類中所有的抽象方法
4.用途:一種規範,用來約束所有子類的行為
*/#endregion
namespace 抽象類
//抽象方法
//只要滿足會說話的子類,都是人類的子類
public
class
hero
:people
}}
using system;
//inte***ce
//定義乙個usb藉口
//介面方法不是抽象方法,也不需要訪問許可權
//實現介面方法方法應該注意:1.介面中的方法必須為public許可權
// 2.實現介面方法不能使用overvide
// 3.抽象類實現介面,可以把介面實現為抽象方法
// 4.介面中的方法可以被實現虛方法
// 介面的命名以大寫i的開頭
//語法:如果乙個類的後面既有父類也有介面,一定是父類在前
// 乙個類可以實現多個介面
//
//轉型 由實現類型別轉型為介面型別 向上轉型
// 由介面型別轉型為實現類型別 向下轉型
//介面中還可以寫屬性訪問器
//實現類中需要乙個屬性age,並提供set和get訪問器
inte***ce
usbclass people : usb
}namespace 介面
}}
using system;
//結構體
#region
/* 1.都包含字段、屬性、方法
相同點:2.修飾的訪問許可權
3.都是通過關鍵字new來例項化物件的
結構體和類基本是一樣的:
不同的:1.結構體物件是在棧上開闢的空間
2.結構體是值型別,不是引用型別
3.構造方法:1.結構體中不允許寫無參構造,但是可以寫靜態無參構造
2.結構體的有參構造方法中,必須要給所有的字段進行賦值
3.結構體中始終包含乙個public許可權的無參的構造方法
結構體中不允許寫析構方法
結構體中只有乙個父類叫做object:1.不能被其他的結構體或類繼承
2.也不能繼承自其他的結構體或者類*/
#endregion
//靜態類
#region
/* 1.由static修飾的類就是靜態類
1.不能例項化物件
靜態類: 2.特點:2.靜態類中不能有非靜態的成員
3.靜態類的繼承和結構體一樣,只有乙個父類object
3.用途:用來設計工具類
*/#endregion
//密封:關鍵字:sealed
#region
/* 用來修飾類:1.叫做密封類
2.不能被繼承
sealed的用途:
1.叫做密封方法
用來修飾方法:2.不能被繼續重寫
3.只有在override方法可以被密封;
*/#endregion
namespace housebook3
//但是可以寫靜態無參構造,靜態的構造方法不能有訪問許可權和引數
static
point()
}#endregion
//靜態類
#region
static
class
son}
static
son()}
#endregion
static
void
main
(string
args)
}}
//命名空間:乙個虛擬的集合
//命名空間中的元素只能是類、結構體、列舉、介面型別
//命名空間可以防止類名的重複,以及更好的來管理類
using space0;
using space2;
namespace space0
class b
}//命名空間的名稱允許重複,並且如果有多個命名空間的名字是一樣的,那麼他們是同乙個命名空間;
namespace space0
//因為是同乙個所有會出錯
}//命名空間可以巢狀命名空間
namespace space2
// 這個命名空間叫做space2.space2
namespace space2
// 這個命名空間叫做space2.space2.space2
namespace space2
}}}namespace space1
class
program
}}
using system;
//運算子過載
#region
/* 1.通過特定的語法,使某些運算子可以具備特殊的功能
* 2.關鍵字:operator
(1)算術運算子:全部可以過載
(2)賦值運算子:全部不能過載
3.可以過載的運算子:(3)關係運算子:全部可以過載 如果過載了》必須過載<
如果想要過載關係運算子,那麼必須要成對的過載:如果過載了》=必須過載<=
如果過載了==必須過載!=
(4)邏輯運算子:& | ! ^可以被過載
&& || 不能過載
(5)位運算子:~可以被過載
運算子過載 :
4. 注意事項:(1)、引數的數量一定要和這個運算子能夠操作的數量匹配
(2)、引數型別和返回值型別可以隨意設定的,但要合情合理
*/#endregion
namespace 過載運算子
//運算子過載,使加號有新的功能
//實現兩個point物件直接相加,得到乙個新的點
//過載運算子必須是public和static;
static
public point operator
+(point a, point b)
}class
program
,",c.x,c.y);}
}}
python學習筆記 001days
初步了解了python的歷史但並沒有記住什麼,如果回憶一下只記得幾個點 python直譯器是用 c c c 寫的,c不愧是底層的好東西 python是最接近人類語言的語言,可能未來直接用人類語言就能程式設計了,語文課變成了程式設計課 作者介紹了兩款ide,macos自帶的idle太過於簡陋於是衍生了...
Linux學習筆記0 0 2
刪除目錄或檔案的方法,我學習了兩個乙個是使用rmdir命令另乙個是使用rm命令。下面對這兩個命令進行簡要講解。1.1 rmdir 命令 rmdir 命令的作用就是從乙個目錄中刪除乙個或者多個空的子目錄。簡單粗暴的說,你只能刪除你包含的乙個或者多個空資料夾。看下面例項 1rmdir test 刪除 t...
Python學習筆記002
002講2020 7 7 第乙個遊戲程式 print 我愛魚c工作室 temp input 不妨猜一下小甲魚現在心裡想的是哪個數字 guess int temp if guess 8 print 恭喜你,猜對了 print 猜中了也沒有獎勵哦 else print 猜錯啦,我現在小甲魚現在心裡想的是...