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