
Interface Class เป็นรูปแบบการเขียนอีกแบบหนึ่งในการเขียน OOP ถ้าจะถามว่า Interface คืออะไร ก็คงจะยกตัวอย่างการเปรียบเทียบ interface เหมือนพิมพ์เขียว คือการออกแบบงานไว้เพื่อให้คนอื่นมาทำต่อตามรูปแบบที่ได้วางเอาไว้
การเขียน Interface นั้นจะเขียนลักษณะของคลาสซึ่งมีเมธอดที่ไม่มีอะไรเลย มีเพียงแต่ชื่อเมธอดเท่านั้น โดยสามารถเขียน interface ได้ตามรูปแบบดังนี้
ส่วนการนำ interface ไปใช้งาน ต้องทำการ implements interface class เสียก่อน เช่นตัวอย่างโค้ดด้านล่าง จาก interface ด้านบน เราเห็น MyPets interface มีเมธอดทั้งหมด 3 เมธอด เราจะต้องทำการ implements โครงสร้างทั้งหมดมาไว้ในคลาสใหม่ของเรา เปรียบเหมือนต้องทำการสร้างบ้านตามพิมพ์เขียวที่ได้ออกแบบไว้ทั้งหมด จะละอันใดอันหนึ่งไม่ได้ ดังตัวอย่างการเขียนโค้ดการ implements class ด้านล่าง
การเขียนแบบ interface จะมีประโยชน์มากในการนำไปใช้ของ SA ระบบต่าง ๆ เพื่อให้โปรแกรมเมอร์พัฒนาต่ออีกที โดย SA ได้ออกแบบและรับฟีเจอร์หรือความต้องการจากลูกค้ามาแล้ว จะออกแบบเพื่อให้โปรแกรมเมอร์เขียนได้อย่างครบถ้วน ไม่ว่าจะเป็นการออกแบบจากพวก UML IDE ต่าง ๆ ก็ได้ เช่น โปรแกรม Sparx, Visual Paradigm, Altova, Rational Rose เป็นต้น
โดยบางโปรแกรมจะสามารถเจนโค้ดที่เราได้ออกแบบไว้ได้อีกด้วย แต่สำหรับ php เท่าทีเคยใช้ก็มีโปรแกรม Rational Rose สามารถทำได้ แต่โปรแกรมอื่น ๆ ไม่ได้ลอง ถ้าสนใจก็ไปลองกันได้ครับ
จาก : http://www.worldphp.com/
การเขียน Interface นั้นจะเขียนลักษณะของคลาสซึ่งมีเมธอดที่ไม่มีอะไรเลย มีเพียงแต่ชื่อเมธอดเท่านั้น โดยสามารถเขียน interface ได้ตามรูปแบบดังนี้
- <?php
- interface MyPets {
- function HasLegs($AmountOfLegs) {}
- function MakeSound($voice) {}
- function ShowInfo() {}
- }
- ?>
ส่วนการนำ interface ไปใช้งาน ต้องทำการ implements interface class เสียก่อน เช่นตัวอย่างโค้ดด้านล่าง จาก interface ด้านบน เราเห็น MyPets interface มีเมธอดทั้งหมด 3 เมธอด เราจะต้องทำการ implements โครงสร้างทั้งหมดมาไว้ในคลาสใหม่ของเรา เปรียบเหมือนต้องทำการสร้างบ้านตามพิมพ์เขียวที่ได้ออกแบบไว้ทั้งหมด จะละอันใดอันหนึ่งไม่ได้ ดังตัวอย่างการเขียนโค้ดการ implements class ด้านล่าง
- class MyDog implements MyPets {
- function HasLegs($AmountOfLegs) {
- // โค้ดอื่น ๆ
- }
- function MakeSound($voice) {
- // โค้ดอื่น ๆ
- }
- function ShowInfo() {
- // โค้ดอื่น ๆ
- }
- function myNewMethod() {
- // โค้ดอื่น ๆ
- }
- }
การเขียนแบบ interface จะมีประโยชน์มากในการนำไปใช้ของ SA ระบบต่าง ๆ เพื่อให้โปรแกรมเมอร์พัฒนาต่ออีกที โดย SA ได้ออกแบบและรับฟีเจอร์หรือความต้องการจากลูกค้ามาแล้ว จะออกแบบเพื่อให้โปรแกรมเมอร์เขียนได้อย่างครบถ้วน ไม่ว่าจะเป็นการออกแบบจากพวก UML IDE ต่าง ๆ ก็ได้ เช่น โปรแกรม Sparx, Visual Paradigm, Altova, Rational Rose เป็นต้น
โดยบางโปรแกรมจะสามารถเจนโค้ดที่เราได้ออกแบบไว้ได้อีกด้วย แต่สำหรับ php เท่าทีเคยใช้ก็มีโปรแกรม Rational Rose สามารถทำได้ แต่โปรแกรมอื่น ๆ ไม่ได้ลอง ถ้าสนใจก็ไปลองกันได้ครับ
จาก : http://www.worldphp.com/