การประกาศ class


objective-c


               ภาษา Objective-C นั้นเป็นภาษาที่ถูกออกแบบมาสำหรับการเขียนโปแกรมเชิงวัตถุ (OOP – Object Oriented Programming) โดยเฉพาะ แต่ตอนนี้ขี้เกียจเล่าประวัติให้ยืดยาว เอาเป็นว่ามาเริ่มกันเลยดีกว่าครับ ในภาษา Objective-C นั้นมีไฟล์อยู่่ 3 แบบ คือ
  • .h – เป็น header file เป็นที่สำหรับประกาศ คลาส, ตัวแปร, ฟังก์ชั่น ต่างๆ
  • .m – เป็น source file ซึ่งสามารถเขียนได้ทั้งภาษา Objective-C เอง และ ภาษา C
  • .mm – เป็น source file เช่นกัน แต่สามารถเขียนภาษา C++ ได้ด้วย

การประกาศ class

       สำหรับคนที่ยังไม่เคยเขียนโปรแกรมแบบ OOP อาจจะต้องศึกษาเพิ่มเติม  ขั้นแรก เรามาดูรูปแบบการประกาศ class กันก่อน
class_declaration
การประกาศ class (รูปจาก iOS Developer Library)
ในรูปนี้เป็นเพียงการประกาศ ตัวแปร(Member variable) และเมธอด (Method) ของคลาสเท่านั้น ยังมีการประกาศ Property ที่เป็นการกำหนดคุณสมบัติให้กับตัวแปรอีก 
ใน Objective-C นั้นเราสามารถประกาศตัวแปรได้ทั้ง 2 แบบ คือแบบ Strong type และแบบ Weak type สำหรับการประกาศแบบ Strong type ก็ประกาศแบบปกติครับ โดยขึ้นต้นด้วยชื่อ class และตามด้วย * (หมายถึงการเป็น pointer) และตามด้วยชื่อของ object ที่เราจะตั้ง แต่การประกาศแบบ Weak type นั้นจะใช้คำว่า id นำหน้าโดย “ไม่ต้องมี *” เพราะการประกาศ id นั้นจะเป็นการประกาศตัวแปรที่เป็น pointer ไปโดยอัตโนมัติ ซึ่งจะใช้บ่อยอยู่พอสมควรในกรณีที่เราไม่รู้ว่า object นั้นเป็น type อะไร ดังนี้


MyClass *myObject1; // Strong typing
id myObject2; // Weak typing