麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PowerShell > 正文

PowerShell面向對象編程基礎知識總結

2020-03-26 19:21:55
字體:
來源:轉載
供稿:網友

本文介紹PowerShell面向對象編程的基礎知識,我們知道PowerShell里面的所有變量和輸出都是對象,所以有必要在進行PowerShell編程時了解一下面向對象編程的基礎知識。

面向對象編程的引入主要是為了解決軟件復雜化帶來的維護等問題,早在20世紀60年代,面向對象就已經出現了。雖然C語言并不支持面向對象的特性,但是使用C語言進行開發的程序人員已經將面向對象的核心思想應用到其中,因此我們更應該理解的是面向對象的思想,而不需要糾纏于語言本身。

PowerShell是基于對象的腳本語言,因此下面的介紹中我們主要側重于介紹基本概念,并不會涉及如何進行面向對象編程。通過下面知識的學習,你將會了解PowerShell中需要掌握的基本對象知識,從而深刻理解PowerShell采用基于對象的管理帶來的優勢。

類(Class)

為物體(或者說是對象)定義的抽象特性,這些特性包括物體的特征(它的屬性、域或特性)以及物體的行為(它可以做得事情、方法或操作)。某些人會說類就像是設計圖或工廠一樣,用來描述某些事物的自然特性。打個比方來說,狗這個類可能包含所有狗包含的共性,例如:品種和皮毛顏色(它們都是狗的特征)、叫和坐下(它們都是狗的行為)。

對象(Object)

類的特定實例(Instance)。解釋很抽象?對象可以看做是你家的狗,或者你家鄰居的狗。無論如何,它們都是狗類的實例。狗類定義一部分所有狗都具有的特性,例如:三條(顯然狗主人很喜歡打麻將)是一只真實存在的狗,狗類中的信息就可以用來描述三條與其他狗的不同,三條的皮毛是棕色的。我們可以知道三條被歸類為犬科,是狗類的一個實例。

方法(Method)

對象的能力。三條是一條狗,它能夠叫,因此叫就是三條的方法。三條也許還有其他的方法,例如:原地轉圈、作揖、坐下等等。

繼承 (Inheritance)

子類是一個類的特殊版本,它繼承父類的屬性和行為,并引入自己特有的屬性和行為。

我們還是回到前面的例子討論,狗按照品種劃分有很多種,例如:黃金牧羊犬、柯利牧羊犬和吉娃娃。三條是柯利牧羊犬的實例,例如狗類中已經定了了方法叫和屬性皮毛顏色。所以每一個狗類的子類都可以直接繼承這些信息,不需要額外重新定義這些冗余的信息。

子類可以改變繼承的特性。例如:柯利牧羊犬可能指定默認的皮毛顏色為棕色和白色。而吉娃娃子類可能默認指定方法“叫”是產生高音調的叫聲。子類還允許引入新成員,例如吉娃娃子類可能引入方法“顫抖”(吉娃娃的膽子很小,所以遇到危險就會顫抖)。吉娃娃對象還有一個顫抖的方法,但是三條沒有,這是因為三條是柯利牧羊犬,而不是吉娃娃。

對于類和對象而言,我們在PowerShell開發時,更多的關注它的成員,即類的屬性和方法。PowerShell中的類和C#一樣,有靜態成員和實例成員兩種。下面分別演示一下:

我們可以通過Get-Member的Static參數來列出類型的靜態成員:

復制代碼 代碼如下:

 

PS C:/user/splaybow> [int] | Get-Member -Static | Out-String -Width 80

   TypeName: System.Int32

Name            MemberType Definition
----            ---------- ----------
Equals          Method     static System.Boolean Equals(Object objA, Object o...
Parse           Method     static System.Int32 Parse(String s), static System...
ReferenceEquals Method     static System.Boolean ReferenceEquals(Object objA,...
TryParse        Method     static System.Boolean TryParse(String s, Int32& re...
MaxValue        Property   static System.Int32 MaxValue {get;}
MinValue        Property   static System.Int32 MinValue {get;}

 

我們可以看到,System.Int32上有MaxValue和MinValue兩個靜態屬性,它們指示了System.Int32類型的值域:

復制代碼 代碼如下:

PS C:/Users/splaybow> [int]::MaxValue
2147483647
PS C:/Users/splaybow> [int]::MinValue
-2147483648

如果沒有指定Static參數,那么Get-Member會顯示對象的實例方法:
復制代碼 代碼如下:

PS C:/Users/splaybow> [int]::MinValue | Get-Member | Out-String -Width 80

 

   TypeName: System.Int32

Name        MemberType Definition
----        ---------- ----------
CompareTo   Method     System.Int32 CompareTo(Int32 value), System.Int32 Comp...
Equals      Method     System.Boolean Equals(Object obj), System.Boolean Equa...
GetHashCode Method     System.Int32 GetHashCode()
GetType     Method     System.Type GetType()
GetTypeCode Method     System.TypeCode GetTypeCode()
ToString    Method     System.String ToString(), System.String ToString(IForm...

 

關于PowerShell面向對象編程基礎知識,本文就介紹這么多,希望對您有所幫助,謝謝!

 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久精品日产第一区二区三区 | 国产一级片91 | 日本成人二区 | 欧美性受xxxxxx黑人xyx性爽 | 一级黄色毛片a | 久久网站热最新地址4 | 一区二区三区在线视频观看58 | aaaaaaa毛片 | 成人在线视频免费 | 天天碰天天操 | 巨乳毛片| 最新福利在线 | 日本高清com | 宅男噜噜噜66国产在线观看 | 亚洲一区二区中文字幕在线观看 | 久久久成人精品视频 | 91成人在线免费观看 | 国产激情视频在线 | 国产成人精品一区二区视频免费 | 91成人一区二区三区 | 成人电影毛片 | 欧美成人理论片乱 | 精品视频在线免费看 | 秋霞a级毛片在线看 | 国产欧美精品综合一区 | 成人电影毛片 | 久久91精品国产91久久yfo | 嫩嫩的freehdxxx | 欧美一级α | 亚洲αv | 国产手机国产手机在线 | 免费久久久久久 | www.99tv| 一级黄色在线观看 | 国产精品入口夜色视频大尺度 | 亚州欧美视频 | 久章草影院 | 亚洲视频在线网 | 久章草影院 | 久久国产一二区 | 免费网址黄 |