欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PowerShell面向?qū)ο缶幊袒A(chǔ)知識總結(jié)

 更新時間:2014年08月04日 09:25:06   作者:洪哥  
這篇文章主要介紹了PowerShell面向?qū)ο缶幊袒A(chǔ)知識總結(jié),本文著重講解面向?qū)ο蟮囊恍└拍?又給出了Get-Member命令輸出類的屬性和方法的例子,需要的朋友可以參考下

本文介紹PowerShell面向?qū)ο缶幊痰幕A(chǔ)知識,我們知道PowerShell里面的所有變量和輸出都是對象,所以有必要在進(jìn)行PowerShell編程時了解一下面向?qū)ο缶幊痰幕A(chǔ)知識。

面向?qū)ο缶幊痰囊胫饕菫榱私鉀Q軟件復(fù)雜化帶來的維護(hù)等問題,早在20世紀(jì)60年代,面向?qū)ο缶鸵呀?jīng)出現(xiàn)了。雖然C語言并不支持面向?qū)ο蟮奶匦?,但是使用C語言進(jìn)行開發(fā)的程序人員已經(jīng)將面向?qū)ο蟮暮诵乃枷霊?yīng)用到其中,因此我們更應(yīng)該理解的是面向?qū)ο蟮乃枷?,而不需要糾纏于語言本身。

PowerShell是基于對象的腳本語言,因此下面的介紹中我們主要側(cè)重于介紹基本概念,并不會涉及如何進(jìn)行面向?qū)ο缶幊?。通過下面知識的學(xué)習(xí),你將會了解PowerShell中需要掌握的基本對象知識,從而深刻理解PowerShell采用基于對象的管理帶來的優(yōu)勢。

類(Class)

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

對象(Object)

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

方法(Method)

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

繼承 (Inheritance)

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

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

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

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

我們可以通過Get-Member的Static參數(shù)來列出類型的靜態(tài)成員:

復(fù)制代碼 代碼如下:

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兩個靜態(tài)屬性,它們指示了System.Int32類型的值域:

復(fù)制代碼 代碼如下:

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

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

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...

關(guān)于PowerShell面向?qū)ο缶幊袒A(chǔ)知識,本文就介紹這么多,希望對您有所幫助,謝謝!

相關(guān)文章

  • PowerShell中使用Filter來創(chuàng)建管道輸入函數(shù)

    PowerShell中使用Filter來創(chuàng)建管道輸入函數(shù)

    這篇文章主要介紹了PowerShell中使用Filter來創(chuàng)建管道輸入函數(shù),Filter創(chuàng)建的函數(shù)跟Function創(chuàng)建的函數(shù),在本質(zhì)上是一樣的,需要的朋友可以參考下
    2014-07-07
  • Windows Powershell屬性:描述對象是什么

    Windows Powershell屬性:描述對象是什么

    既然上文說明了對象=屬性+方法,那么本文我們就先來探討下屬性。先從屬性的概念入手,接著通過屬性中包含對象、只讀屬性和讀寫屬性、屬性的類型、查看所有屬性這4個方面詳細(xì)向我們展示了對象。有需要的朋友展示下
    2014-09-09
  • Windows Powershell 變量的幕后管理

    Windows Powershell 變量的幕后管理

    如果在Powershell中輸出一個變量,只會輸出這個變量的值。不能夠顯示它的其它信息,如果想查看一個變量的其它保留信息,就需要變量的基類PSVariable對象,這個可以通過Get-Variable命令得到
    2014-09-09
  • Powershell Profiles配置文件的存放位置介紹

    Powershell Profiles配置文件的存放位置介紹

    這篇文章主要介紹了Powershell Profiles配置文件的存放位置介紹,Profiles文件存放的位置不同,它的作用域也會不同,需要的朋友可以參考下
    2014-08-08
  • Windows Powershell 變量的類型和強類型

    Windows Powershell 變量的類型和強類型

    這篇文章主要介紹了Windows Powershell 變量的類型和強類型,以及使用示例,需要的朋友可以參考下
    2014-09-09
  • Powershell實現(xiàn)監(jiān)測服務(wù)器連通狀態(tài)

    Powershell實現(xiàn)監(jiān)測服務(wù)器連通狀態(tài)

    這篇文章主要介紹了Powershell實現(xiàn)監(jiān)測服務(wù)器連通狀態(tài),代碼很簡單,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-05-05
  • PowerShell入門教程之PowerShell和Cmd命令行的關(guān)系?

    PowerShell入門教程之PowerShell和Cmd命令行的關(guān)系?

    這篇文章主要介紹了PowerShell入門教程之PowerShell和Cmd命令行的關(guān)系?本文講解了PowerShell中的CMD命令、PowerShell與Cmd命令行的關(guān)系、Cmd命令行會被PowerShell替代嗎等內(nèi)容,需要的朋友可以參考下
    2014-10-10
  • PowerShell小技巧之獲取域名whois信息

    PowerShell小技巧之獲取域名whois信息

    平常我們要查詢whois信息都是通過godaddy、name.com、萬網(wǎng)、新網(wǎng)等域名注冊商網(wǎng)站通過查詢頁面提交域名進(jìn)行查詢,既慢又不能批量查詢,太費勁了,這里我就把我珍藏很久的一個PS function貢獻(xiàn)給大家,這個腳本支持140多種后綴的域名進(jìn)行查詢。
    2014-10-10
  • PowerShell批量修改AD用戶密碼屬性的代碼

    PowerShell批量修改AD用戶密碼屬性的代碼

    這篇文章主要介紹了PowerShell批量修改AD用戶密碼屬性的代碼,需要的朋友可以參考下
    2015-07-07
  • PowerShell中終止管道的方法

    PowerShell中終止管道的方法

    這篇文章主要介紹了PowerShell中終止管道的方法,本文直接給出代碼實例,需要的朋友可以參考下
    2015-05-05

最新評論