เรียนภาษา Swift กับ ThaiSwiftClass.com ตอน Protocol & Delegates Part 2

มาต่อกันกับเรื่อง Protocol & Delegates นะครับ คราวนี้เรามาเรียนรู้เรื่องการใช้งาน Delegate กันดูนะครับ แล้ว Delegate คืออะไร ลองไปดูความหมายซะก่อน “Delegate (N) ตัวแทน”  ครับแปลง่ายๆ Delagate ทำหน้าที่เป็นตัวแทน โดยเราจะสร้าง class ที่ใช้ protocol มาทำการ delegate ให้กับอีก class นึง โดยการที่เราต้องนำ protocol เข้ามาช่วยเพื่อให้แน่ใจว่า method หรือ function ทั้งหมดใน protocol นั้นจะถูกนำไปใช้ทำหน้าที่ delegate อย่างแน่นอน

เรียนภาษา Swift กับ ThaiSwiftClass.com ตอน Protocol & Delegates Part 1

สำหรับบทนี้การสร้างตัวเชื่อมให้แต่ละ Class สื่อสารกันได้ง่ายขึ้นใน Swift โดยจะเป็นการใช้คำสั่ง Protocol ในการทำหน้าที่เป็นตัวแทน (Delegates) เรามารู้ความหมายของคำว่า Protocol ก่อนดีกว่า  “Protocal (n) ข้อตกลงในการทำการสื่อสาร การกำหนดความหมาย และวิธีการในการสื่อสาร”     ถ้าจะอธิบายให้ชัดคือเวลานำมาใช้กับการเขียนโปรแกรมคือ Protocol จะทำหน้าที่เป็นสื่อกลางเก็บทั้ง Method (Function) และ Property (ตัวแปร) เอาใว้ สำหรับนำไปใช้ได้ทั้งใน Class (class) Structure (struct) และ Enumurator (enum) ต่อได้นั่นเอง                 ลองมาดูตัวอย่างการใช้งาน Protocol...

เรียนภาษา Swift กับ ThaiSwiftClass ตอน การ ใช้งาน Computed Properties

ในบทที่ผ่านๆมาเราได้เรียนเรื่องการประกาศตัวแปรแบบต่างๆกันมาแล้ว ใน Swift เองยังมีการประกาศตัวแปรที่สามารถเพิ่มเงื่อนไขหรือเขียนข้อกำหนดต่างๆเข้าไปในตัวแปรได้อีก เรียกว่า Computed Properties ใน Swift จะมี ตัวแปรแบบ Computed Properties คือการที่เราเพิ่มความสามารถให้กับตัวแปรที่ต้องการ โดยการใช้คำสั่ง get และ set เข้าไป ทำให้ลดการเขียนลงได้พอสมควรเพราะเงื่อนไขบางอย่างสามารถจบลงที่การเรียกใช้หรือตั้งค่าให้กับตัวแปรนั้นๆได้เลย  ลองดูตัวอย่างจาก class exchange_rate กันก่อน  

เรียนรู้การสร้าง Class และการใช้งานเบื้องต้น (OOP With Swift Part 3) – Encapsulation

Class ของเราที่สร้างไปในสองบทก่อนหน้า จะยังไม่ได้ลงลึกในการเข้าถึงตัวแปร โดย OOP มี ฟีเจอร์ชื่อว่า Encapsulation ซึ่งหมายถึงว่าการห่อหุ้ม แบบยาที่ถูกห่อใว้ใน แคปซูลนั่นเอง โดยเรานำเอาฟีเจอร์ Encapsulation มาใช้กับการเขียนโปรแกรมเพื่อจำกัดการเข้าถึงตัวแปรสำหรับอ่านหรือเปลี่ยนแปลงค่า ในส่วนของ Access Modifiers หรือวิธีการเข้าถึงตัวแปร ซึ่งสามารถแบ่งเป็น 3 หมวดได้ตามนี้ private คือตัวแปรใช้ได้ภายใน Class เท่านั้นไม่ให้ใครมาเปลี่ยนค่ามันเองได้ตรงๆ Internal คือตัวแปรใน Class ทั่วไปใช้ได้กับ Object ทั่วๆไป public ตัวแปรที่สามารถนำไปใช้ที่ใดก็ในโปรแกรม