การประกาศ Class
สำหรับคนที่ยังไม่เคยเขียนโปรแกรมแบบ OOP อาจจะต้องศึกษาเพิ่มเติมกันขั้นแรก เรามาดูรูปแบบการประกาศ class กันก่อนนะครับในรูปนี้เป็นเพียงการประกาศ ตัวแปร(Member variable) และเมธอด (Method) ของคลาสเท่านั้น ยังมีการประกาศ Property ที่เป็นการกำหนดคุณสมบัติให้กับตัวแปรอีกใน Objective-C นั้นเราสามารถประกาศตัวแปรได้ทั้ง2 แบบ คือแบบ Strong type และแบบ Weak type สำหรับการประกาศแบบ Strong type ก็ประกาศแบบปกติครับ โดยขึ้นต้นด้วยชื่อ class และตามด้วย *(หมายถึงการเป็น pointer) และตามด้วยชื่อของ object ที่เราจะตั้ง แต่การประกาศแบบ Weak type นั้นจะใช้คำว่า id นำหน้าโดย “ไม่ต้องมี *” เพราะการประกาศ id นั้นจะเป็นการประกาศตัวแปรที่เป็น pointer ไปโดยอัตโนมัติซึ่งจะใช้บ่อยอยู่พอสมควร
การประกาศ Attribute
การจะทำให้เอกสาร XML เป็นเอกสารที่ถูกต้องสมบูรณ์(ValidXML Document) จะต้องมีการประกาศค่า Attribute ทั้งหมดร่วมกับ Elementโดยใช้ชนิด (TYPE)ของ DTD หรือเรียกว่า Attribute-list Declaration โดยการประกาศค่าจะต้องกระทำดังนี้ - ต้องกำหนดชื่อของ Attributeร่วมกับ Elementในเอกสารที่ถูกต้องสมบูรณ์ซึ่งจะสามารถกำหนดได้เฉพาะในแท็กเริ่มต้นและเพิ่มนิยาม Elementในเอกสาร - ต้องกำหนดชนิดข้อมูลภายในAttributeแต่ละตัว - การกำหนดรายละเอียด (Specification)สำหรับแต่ละ Attribute คือ จะต้องมีการกำหนดของ Attributeถ้าไม่มีการกำหนด Attribute – list Declaration จะเป็นตัวชี้ตัวประมวลผล
การประกาศ Method
การติดต่อสื่อการในระหว่าง object นั้นเราจะเรียกว่าการส่ง message ความจริงมันก็เป็นเรื่องปกติของทุกอย่างบนโลกอยู่แล้วว่าถ้าวัตถุสองอย่างจะติดต่อสื่อสารกันได้ก็ด้วยการส่งข้อความไปมาระหว่างกันซึ่งการส่ง message ในการเขียนโปรแกรมแบบ OOP นั้นก็คือการสั่งให้ object ทำงานตาม method ที่ตัวเองสามารถตอบสนองและรู้ว่าจะต้องทำงานอะไรบ้างโดย Method ในภาษา Objective-C นั้นมี 2 แบบ คือแบบที่มี เครื่องหมาย ” + ” (บวก) และ เครื่องหมาย ” – ” (ลบ) นำหน้าสองอันนี้ต่างกันตรงที่ method ที่มีเครื่องหมาย ” – ” นำหน้า : เป็น method ทั่วไปที่เอาไว้กำหนดการทำงานต่างๆของ class ซึ่งจะเรียกใช้ methodแบบนี้ได้ แน่นอนเราต้องมีการสร้าง object ของ class นั้นๆ ขึ้นมาซะก่อน method ที่มีเครื่องหมาย ” + ” นำหน้า : เป็น method ที่ไม่จำเป็นต้องมีการสร้าง object ขึ้นมาก่อนแต่จะสร้าง object ขึ้นมาหลังจากที่ method นี้ถูกเรียกใช้ สำหรับรูปแบบการประกาศ method ในภาษานี้นั้นอาจจะดูแปลกๆหน่อย เพราะ parameter แต่ละตัวจะมี keywordกำกับเป็นของตัวเอง โดยคั่นด้วย ” : ” และการกำหนด type ของ parameter แต่ละตัวก็จะต้องวงเล็บไว้หน้า parameter นั้นๆ ซึ่งอาจจะดูยาวไปแต่ผมชอบเพราะมันอ่านเป็นภาษาคนมากกว่าภาษาอื่นๆมันแทบจะทำให้เราเข้าใจเลยด้วยซ้ำว่า method
การประกาศ objectคือ วัตถุ สิ่งที่เป็นรูปธรรมและนามธรรม ที่มีอยู่จริงบนพื้นโลก (real-world) -สิ่งที่มีลักษณะเป็นรูปธรรม (จับต้องได้) เช่น จักรยาน, รถ, สุนัข, องค์กร, ใบรายการสินค้า, เป็นต้น -สิ่งที่มีลักษณะเป็นนามธรรม (จับต้องไม่ได้) เช่น ความเป็นเจ้าของ, ความคิด, ความรู้สึก เป็นต้น
การเรียกใช้ Method
แบบที่ 1 : เรียกใช้ Constructor และใช้พื้นที่ในหน่วยความจำ class hello1 { public static void main(String args[]) { TAirPlane abc = new TAirPlane(); } } แบบที่ 2 : แยกประกาศใช้คลาสและใช้พื้นที่ในหน่วยความจำ class hello2 { public static void main(String args[]) { TAirPlane abc; abc = new TAirPlane(); } } แบบที่ 3 : ใช้พื้นที่ในหน่วยความจำ และเป็นการเรียกใช้ constructor ซึ่ง class นี้ ต้องอยู่ใน Directory เดียวกัน class hello3 { public static void main(String args[]) { new TAirPlane(); } }
การเรียกใช้ attribute
subject:การเรียกใช้ attribute แบบที่ 1 syntax:ClassName object = new ClassName().attributeName; example:Person bamboo = new Person().name การเรียกใช้ attribute แบบที่ 2
subject:การเรียกใช้ attribute แบบที่ 2 syntax:ClassName object = new ClassName(); object.attributeName; example:Person bamboo = new Person(); bamboo.name = "bamboolabcode"
ไม่มีความคิดเห็น:
แสดงความคิดเห็น