1. 程式人生 > >Powershell基礎:類和物件

Powershell基礎:類和物件

物件

Powershell中,我們可以自定義物件。物件的建立和使用方式類似javascript等其他指令碼語言

初始化

$myObj=New-Object PSObject -Property ` 
@{
            apple="";
            banana=@();
            orange=@{}
        }

注意`和@如果處於同一行要隔著一個空格,處於不同行則只能隔著回車

呼叫

$myObj.apple="Newton"
$myObj.banana+=@("Pine")
$myObj[email protected]
{ "A"=1; "B"=2}

新增新成員

可以通過Add-Member新增新的成員

1.變數

Add-Member -InputObject $myObj -Name pear -Value "111" -MemberType NoteProperty
Add-Member -InputObject $myObj -Name lemon -Value @("22","33") -MemberType NoteProperty

InputObject指定物件,MemberType指定要給物件新增的元素型別。NoteObject表示基本的資料型別

2.方法

Add-Member -in $myObj ScriptMethod newFunc{ "This is a function" }

常用物件

Powershell可以和C#無縫銜接,所以許多.net框架中的物件可以直接使用,比如Arraylist以及.net中一些連線資料庫的操作等

$arr = New-Object -TypeName System.Collections.ArrayList
$arr = New-Object "System.Collections.ArrayList"

初始化可以根據類名直接使用.net的類庫。但要注意的是不是所有.net的物件都支援。

$arr.Add(1)        #新增新元素

使用Arraylist比傳統陣列的優勢在於每次新增新元素不用重新開闢一個新陣列賦值。Arraylist的其他相關操作和C#的沒有明顯區別

在Powershell5.0後,powershell也開始支援像C++一樣的類操作。

Class Student
{
    [String]$Name;
    [UInt32]$SID;

    Student([String]$Name,[UInt32]$SID)
    {
        $this.Name=$Name
        $this.SID=$SID
    }

    [String]getSID()
    {
        return $this.SID
    }
}

在成員函式中使用成員變數需要用$this,否則會提示該變數不在作用域

$myClass=[Student]::new("King",223)    #建立物件
$myClass.getSID()                  #呼叫方法

相關推薦

Powershell基礎物件

物件 Powershell中,我們可以自定義物件。物件的建立和使用方式類似javascript等其他指令碼語言 初始化 $myObj=New-Object PSObject -Property ` @{ apple="

Java基礎 實驗二物件

1.實驗目的 掌握類的宣告、物件的建立、方法的定義和呼叫、建構函式的使用。 2.實驗內容 1)定義一個表示學生資訊的類Student,要求如下: ① 類Student的成員變數:       sNO 表示學號;      

java基礎篇---------物件(OOP)

JAVA 的是完全面向物件程式設計的!!! 面向物件程式設計的三大特性:封裝、繼承、多型 1.類 類是構造物件的模板或者藍圖,由類構造物件的過程就是建立類的例項; 類裡面存放類的成員變數,成員方法, class student { private int age; //

c++基礎2——物件

1、class的構成 class 類名{     public://公有成員      函式1;     變數1;      ……   

第036講物件給大家介紹物件

目錄 0. 請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式! 測試題 0. 物件中的屬性和方法,在程式設計中實際是什麼? 1. 類和物件是什麼關係呢? 2. 如果我們定義了一個貓類,那你能想象出由“貓”類例項化的物件有哪些? 3. 類的定義有些時候或

第037講物件面向物件程式設計

目錄 0. 請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式! 測試題 0. 以下程式碼體現了面向物件程式設計的什麼特徵? 1. 當程式設計師不想把同一段程式碼寫幾次,他們發明了函式解決了這種情況。當程式設計師已經有了一個類,而又想建立一個非常相近的新類,他們

第039講物件拾遺

0. 請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式! (一)組合 上節課我們學習了繼承和多繼承,但是我們有時候發現,有些情況你用繼承也不合適,用多繼承也不是,例如:現在現在要求定義一個類,叫水池,水池裡要有烏龜和魚。那大家就很苦惱了,用多繼承就顯得很奇葩了,因為如

第040講物件一些相關的BIF

目錄 0. 請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式! 測試題 0. 如何判斷一個類是否為另一個類的子類? 1. 如何判斷物件 a 是否為 類 A 的例項物件? 2. 如何優雅地避免訪問物件不存在的屬性(不產生異常)? 3. Python 的一

Scala學習筆記(二)物件

object object 是隻有一個例項的類。它的定義與Java中的class類似,如: // 單例物件 object AppEntry { def main(args: Array[String]): Unit = { print("Hello World!") } }

Java筆記物件

Java類和物件 類是在程式設計中經過編寫的,擁有成員變數和一些方法的一種資料型別,可以由自己通過聯絡現實中的事物進行編寫,關鍵字是class,一個Java原始檔只能含有一個public類,且該類名稱與檔名相同。類是對現實中具體事物的一種表示,並且需藉由類建立

面向物件思想物件、封裝、建構函式

面向物件的特點: 面向物件是一種更符合我們思考習慣的思想,它可以將複雜的事件簡單化,並將我們從執行者變成指揮者。 面向過程-強調步驟 面向過程-強調物件,這裡的物件就是洗衣機。 面向物件的語

Scala 程式設計—第七節物件(二)

前言:         類和物件第二節,主要介紹:單例物件、伴生物件與伴生類、apply方法、抽象類 1.單例物件 Java語言中,如果想直接使用類名點的方式呼叫方法或屬性,直接用static修飾即可。但Scala語言不支援靜態成員,而提供了object物件,這

面向物件基礎物件、繫結方法

一、面向物件程式設計 回顧:面向過程程式設計 是一種之前程式設計師們設計出來的比較好的程式設計方法,也是一種程式設計思想。 核心是過程二字,顧名思義,就是先幹什麼,再幹什麼,完成一個事情具有的所有步驟。 優點:複雜的流程簡單化,程式化,一步一步拆分,降低開發難度。 缺點:擴充套件性差, 不容易維護。 主要使用

Scala入門到精通——第六節物件(一)

本節主要內容 1 類定義、建立物件 2 主構造器 3 輔助構造器 類定義、建立物件 //採用關鍵字class定義 class Person { //類成員必須初始化,否則會報錯 //這裡定義的是一個公有成員 var name:Strin

Scala入門到精通——第七節物件(二)

本節主要內容 單例物件 伴生物件與伴生類 apply方法 應用程式物件 抽象類 單例物件 在某些應用場景下,我們可能不需要建立物件,而是想直接呼叫方法,但是Scala語言並不支援靜態成員,Scala通過單例物件來解決該問題。單例物件的建立方式如下:

python cookbook學習筆記十六物件(1)

我們經常會對列印一個物件來得到物件的某些資訊。 class pair:     def __init__(self,x,y):         self.x=x         self.y=y if __name__=='__main__':     p=pair

第038講物件繼承

0. 請寫下這一節課你學習到的內容:格式不限,回憶並複述是加強記憶的好方式! 上節課的課後習題我們試圖模擬一個場景,裡邊有一隻烏龜和十條魚,烏龜通過吃魚來補充體力,當烏龜體力消耗殆盡或者魚吃光時遊戲結束。 現在我們想擴充套件遊戲,給魚類進行細分,有金魚(Goldfis

C++基礎物件(物件呼叫成員函式 this指標)

1.一個物件的this指標並不是物件本身的一部分,不會影響sizeof(物件)的結果。this作用域是在類內部,當在類的非靜態成員函式中訪問類的非靜態成員的時候,編譯器會自動將物件本身的地址作為一個隱含引數傳遞給函式。也就是說,即使你沒有寫上this指標,編譯器在編譯的時候

Java 7物件(域、引數、初始化)

面向物件程式設計:每個物件包含對使用者公開的特定功能部分和隱藏的實現部分,在OOP中不必關心物件的具體實現,OOP更看重資料(結構),而不是具體演算法。 封裝(資料隱藏):將資料和行為組合在一個包裡,並對物件的使用者隱藏資料的實現方式,封裝的關鍵是絕不能讓其他類直接訪問例項

C++初識物件(2)

在之前的文章裡,我們出初步瞭解了,什麼是類,類如何定義,類的大小怎麼計算等 一個空類裡面什麼也沒有,但是它並非是什麼也沒有,只要是類,它就有6個預設的成員函式: 1.建構函式 2.解構函式 3.拷貝建構函式 4.賦值操作符過載 5.取地址操作符過載 6.co