1. 程式人生 > >深入.NET平臺和c# 編程

深入.NET平臺和c# 編程

lar 自動調用 emp 控制 面向對象 通用 item 參觀 rri

深入 c# 編程

1
.NET框架的倆個主要組件:.NET Framework( FCL)框架類庫,CLR公共語言運行時 提供程序運行環境CTS通用類型系統,CLS規範,幾種面向對象編程的通用功能; ‘LINQ不懂數據庫的可查’ 核心類庫
Collections.Generic;IO;Net;Data;Windows.Forms;Drawing; 2次編譯,MSIL代碼--即時編譯器JIT--平臺專用語言--代碼被執行 任何時候,任何地方都可享受通信; 面向對象的三大特征之一 :封裝。。。;類是一個最基本的封裝 propfull+tab+tab 完整封裝
2
bool,自定義,數組 ,string,引用類型
值類型類似復制副本;System.ValueType
引用類型類似復制地址System.Object
public struct Student(值類型查詢速度快,相對占資源)字段不能直接賦初始值
public class Student(引用類型查詢速度相對較慢,比較不占資源)
結構struct比較占內存
結構不用new對象 值轉引叫裝箱,反過來就叫拆箱; 值類型值傳遞不會改變數值;引用類型值傳遞會改變;值類型引用傳遞會改變; 引用類型,引用傳遞會改變;(string類型傳遞引用類型傳遞不會改變)
3
ArrayList 強轉 Hashtables 強轉
List<T> 類似ArrayList 的升級版 Dictionary<K,V>類似Hashtables 的升級版
泛型類 擴展性也比較好
public class 類名 <T>;存什麽就是什麽
public <T>{get;set}
代碼重用,未來主流
性能高,避免重復的裝箱拆箱
更好的類型安全性
CLR支持泛型
4
構造函數 new對象默認調用分配的構造函數(隱式構造函數)一般用於賦初始化數據
與類名一致
ctor+tab 沒有寫的有參數時自動分配,有寫時系統不再分配(註意:有參 無參都寫可以避免)
方法重載 條件(同類,同名,參數不一樣)註意與返回值無關
18重載 Console.WriteLine()
類之間的交互
對象間交互主要通過參數傳遞,方法調用以及屬性操作等來實現
constructor構造函數
overlaod overload 超載 overland 陸上的 saraly salary薪水 salar 薪酬
merit 優點 meric 美力克日本語學校 turn 翻轉 turncoat 變節者,背叛者 控制 concorl control 和諧 concord 框架 framework common 一般的 語言 language runtime 中間的 ditem 體系system type類型 堆 stakc stack 棍子,打賭 stake 流行的 puporil popularity voter 參觀者 array 數組,陣列 哈希表 hashtable 采集 celltionc collection 字典 dictionary 類的 generic 6
virtual 虛擬的 事實上 virtual virtual virtual virtual virtual virtual override 推翻 踐踏 override override override override override override protected 受保護的 protected protected protect protect protect protect base 基礎 基本 base base base base base

inheritance 繼承 inherit 可繼承的 inherit inherit inherit poly 聚乙烯 morphism 形態主義 poly poly poly poly morphism morphism morphism morphism morphism
C#中 :繼承 ;base關鍵字可以調用父類胡的屬性 傳遞性,單根性
繼承符合is a 關系
this(當前對象的),base同樣可以調用父類屬性和方法
protected 修飾的成員允許其子類訪問,不允許其他非子類訪問( 就是子類專用 ,類內部也可以訪問)
繼承中自動調用父類的無參構造函數 隱式調用; 也可手寫:base() (先調用父類的構造函數再調用子類的構造函數)
base(name, js,s);顯式調用有參構造函數 註意:(參數順序和父類一致,變量名和子類的名稱一致 類型不用寫 )
base還可以直接是引用父類的無參構造 再加上子類的自有屬性就行了()註意變量名需要一致
繼承的單根性:一個子類不能同時繼承多個父類
(接口可以實現多繼承
foreach(Employee empl in empls)
{
if (empl is SE) Console.WriteLine(((SE)empl).SayHi());
if (empl is PM) { Console.WriteLine(((PM)empl).SayHi()); }
}
is關鍵字 用於類型檢查
virtual虛方法 默認實現父類 override重寫父類的虛方法 虛方法可以有方法實現 進行虛方法可以減少類型冗余,子類沒重寫時調用父類,子類重寫了就調用子類重寫的方法 虛方法類似一種多態(跟父類都一樣) 方法重載也是一種多態(參數不同類型或者個數)
多態概念:同一種操作產生不同的效果 d:\users\administrator\documents\visual studio 2013\Projectss 7
abstract 抽象的 abstract abstract
substitution 替代,置換 substiution substitution substitution substitution substitution
principle 原理 ,本質,主義 principle principle principle principle principle
fly 飛行 ,蒼蠅fly fly fly fly
speed 速度,速率 speed speed speed speed speed
job 工作 ,承包 job job job job
code密碼,代碼 code code code code
tool 工具, 手段 tool tool tool tool
裏氏替換原則子類可以替換父類,父類不可以替換子類(通俗的理解老鼠的兒子會打洞)
as操作符主要用於倆個對象之間的類型轉換 抽象方法是一個沒有實現的方法 關鍵字abstract
as如果轉換失敗返回一個空值
1一般父類作為參數,調用方法時傳入子類的對象
2父類new一個子類對象 註意抽方法沒有方法體
不僅僅有抽象方法還有抽象類,抽象類無法被實例化 (抽象類可以不僅只有抽象的方法,可以包含具體的方法)overridec重寫抽象方法)(作用跟虛方法差不多)
密封的或者靜態的
抽象方法必須在子類中實現,除非子類也是抽象類
虛方法virtual修飾,要有有方法體可以被子類override,除了密封類外都可以定義
抽象方法abstracr修飾,不允許有方法體,必須被子類override 只能在抽象類中定義 8
XML 文件
channel 引導,通道 channer channel channel channel
program 程序 ,計劃 program program program program
extensible 可延長的,可擴展的
markup 漲價,利潤
node 節點
XML稱為可擴展標記性語言 ,用於描述數據,是當前處理結構化文檔信息的有力工具,可以實現不同系統的數據交互 ( 配置文件存在電腦上,本地文件
1創建xml文檔對象;2讀取xml文件3獲取xml根節點
XML中成對標記通常稱為節點;XML中用於描述數據的各個節點可以自由擴展;XML節點區分大小寫;
XML要求所以標記必須成對出現(XML不是一種編輯語言,只是一種標記語言)
XmlDocument對象可表示整個XML 文檔它使用Load()方法將指定的XML 文件讀入XmlDocument對象
XmlNode對象表示一個XML中的節點,ChaildNodes屬性用於獲取該節點下的所以字節點,node.InnerText獲取當前節點的值
TreeView用於顯示具有層次結構的信息,主要屬性Node和SelectedNode
file directory stream encoding exist
xlm node program extensibel markup channel 9
file 文件,檔案
directory目錄 ,指導的,咨詢的
stream 流動,流出,溪流
encoding編碼
exist存在 10
cinema 電影,電影院
ticket 票,入場卷
free 免費的,自由的
adventure 冒險,投機活動
cartoon 卡通,動漫片

深入.NET平臺和c# 編程