Structures

31 October 2016

Structures หรือโครงสร้างข้อมูล คือประเภทข้อมูลประเภทหนึ่งในภาษา Visual Basic ที่สามารถมีสมาชิกภายในตัวของมันได้ ลักษณะโครงสร้างของ Structure นั้นจะคล้ายกับคลาส แต่สิ่งที่แตกต่างกันคือ Structure เป็นตัวแปรแบบ Valued type ในขณะที่คลาสเป็นแบบ Reference type ซึ่งเป็นประเภทข้อมูลที่อ้างถึงที่อยู่ของออบเจ็คที่อยู่ในหน่วยความจำแทน ซึ่งในบทนี้คุณจะได้เรียนรู้เกี่ยวกับการประกาศและใช้งาน Structure ในภาษา Visual Basic

การประกาศ Structure

ในการประกาศ Structure นั้น สมาชิกของ Structure จะไม่สามารถกำหนดค่าเริ่มต้นได้ คุณจะสามารถเข้าถึงสมาชิกเหล่านั้นได้ผ่านตัวแปรของ Structure และสมาชิกทั้งหมดจะเป็น Public โดย Default มาดูตัวอย่างในการประกาศ Structure ในภาษา Visual Basic

Public Structure Employee

    Public firstName As String
    Public lastName As String
    Public job As String
    Public salary As Integer

    Public Function SalaryWithBonus(ByVal mul As Double)
        Return salary * mul
    End Function

End Structure

การใช้งาน Structure

ในตัวอย่างเป็นการประกาศ Structure ที่มีชื่อว่า Employee โดยใช้คำสั่ง Structureและสิ้นสุดด้วย End Structure ภายในบล็อคคำสั่งของ Structure เราได้ประกาศสมาชิกที่เป็นตัวแปรสำหรับเก็บข้อมูลของลูกจ้างและเมธอดในการคำนวณโบนัสจากเงินเดือนกับอัตราของโบนัส

Public Structure Employee

    Public fistName As String
    Public lastName As String
    Public job As String
    Public salary As Integer

    Public Function Bonus(ByVal mul As Double)
        Return salary * mul
    End Function

End Structure

Module StructuresExample

    Sub Main()

        Dim emp As Employee
        emp.fistName = "Sam"
        emp.lastName = "Worthington"
        emp.job = "Actor"
        emp.salary = 35200

        Console.WriteLine(emp.fistName & " " & emp.lastName)
        Console.WriteLine("He will get $" & emp.Bonus(8) & " for bonus")

    End Sub

End Module

ต่อมาเราได้นำ Structure ที่ได้ประกาศไว้มาสร้างตัวแปรและใช้งานโดยการกำหนดค่าให้กับตัวแปรและเรียกใช้งานเมธอดจากตัวแปร Structure emp โดยใช้เครื่องหมายจุดในการเข้าถึงสมาชิกเช่นเดียวกันกับคลาส

Dim emp As Employee

คำสั่งนี้เป็นการประกาศตัวแปรของ Structure ซึ่งเป็นประเภทข้อมูของ Employee ตัวแปร emp จะมีข้อมูลที่เป็นตัวแปรและมเธอดอยู่ภายในที่ได้กำหนดไว้ใน Structure ผลของคำสั่งนี้โปรแกรมจะจองข้อมูลสำหรับสมาชิกภายใน Structure ด้วย

emp.fistName = "Sam"
emp.lastName = "Worthington"
emp.job = "Actor"
emp.salary = 35200

ในคำสั่งข้างบน เป็นการเข้าถึงสมาชิกภายในตัวแปร Structure เราสามารถเข้าถึงตัวแปรหรือเมธอดได้โดยการใช้เครื่องหมายจุด (.) และตามด้วยชื่อของตัวแปรหรือเมธอดที่ต้องการเข้าถึง ยกตัวอย่างเช่น emp.fistName เป็นการเข้าถึงตัวแปร fistName ใน Structure emp

Sam Worthington
He will get $281600 for bonus

นี่เป็นผลลัพธ์ของโปรแกรมโดยการใช้ Structure ซึ่งเราได้แสดงชื่อและนามสกุล และเงินโบนัสที่เขาจะได้รับ

Dim programmer As Employee
Dim musician As Employee

ในสองคำสั่งข้างบน เป็นตัวอย่างเพิ่มเติมในการประกาศตัวแปรของ Structure กับหลายตัวแปร คุณคิดเหมือนว่า Structure Employee นั้นเป็นประเภทข้อมูลชนิดหนึ่ง ดังนั้นมันจึงสามารถนำไปสร้างตัวแปรเท่าไหร่ก็ได้ และตัวแปรแต่ละตัวจะมีสมาชิกเป็นของมันเอง เช่น ทั้งตัวแปร programmer และ musician ต่างก็มีตัวแปร fistName เป็นของมันเอง

Structure ยังสามารถมีตัวแปรแบบอื่นได้ เช่น Event Property หรือการ implement จาก interfaces และสร้างแบบอาเรย์ได้ แต่สิ่งหนึ่งที่ทำไม่ได้คือคุณไม่สามารถประกาศตัวแปรของคลาสภายใน Structure ได้ เพราะสมาชิกของ Structure นั้นสามารถเป็นได้เพียง Primitive datatype เท่านั้น

การใช้งาน Structure นั้นเป็นสิ่งที่ช่วยให้เราสามารถจัดการกับข้อมูลที่เกี่ยวข้องกันไว้ในตัวแปรกันได้ โดยการประกาศ Structure สำหรับเป็นประเภทข้อมูลของข้อมูลเหล่านั้น ซึ่งมันทำงานเป็นเหมือนเทมเพลตของกลุ่มข้อมูลหรือออบเจ็ค (สิ่งที่ประกอบไปด้วยคุณสมบัติและการทำงาน) มันเป็นโครงสร้างของการเขียนโปรแกรมที่นำไปสู่การพัฒนาเป็นคลาส (Class) ในการเขียนโปรแกรมเชิงวัตถุ

ในบทนี้ คุณได้เรียนรู้เกี่ยวกับกาสร้างและใช้งาน Structure ในภาษา Visual Basic ซึ่งเป็นตัวแปรสำหรับเก็บข้อมูลแบบกลุ่มข้อมูล

บทความนี้เป็นประโยชน์หรือไม่? Yes · No