Structures

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 ซึ่งเป็นตัวแปรสำหรับเก็บข้อมูลแบบกลุ่มข้อมูล


บทความเกี่ยวกับ Structures

โครงสร้างข้อมูล ในภาษา C

โครงสร้างข้อมูล (structure) คือกลุ่มของตัวแปรที่สามารถสร้างและเก็บไว้ในตัวแปรเดียวที่เรียกว่า data structure ในภาษา C เราสามารถสร้างและออกแบบโครงสร้างข้อมูลของ...

โครงสร้างข้อมูล ในภาษา C++

Data structure เป็นกลุ่มของตัวแปรที่สามารถรวมอยู่ในตัวแปรตัวเดียว เราเรียกว่า structure ตัวแปรที่อยู่ข้างในมันเรียกว่า members members สามารถมีประเภทแระขนาดต่า...

Structs ในภาษา C#

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับโครงสร้างข้อมูลในภาษา C# โครงสร้างข้อมูล (Struct) เป็นตัวแปรที่ใช้สำหรับเก็บข้อมูลที่มีความเกี่ยวข้องกันในรูปแบบของออบเจ็ค Stru...