Flex abstract class

อาทิตย์นี้นั่งเขียน Cache ให้ Flex โดยการเอาโค้ดที่อยู่ในฝั่งจาวามาดัดแปลงนิดหน่อย(ฝั่งจาวาก็เขียนเอง ฝั่ง Flex ก็เขียนเอง – -”) แต่ว่าด้วยความเคยชินในรูปแบบของจาวาทำให้อยากเขียนให้ Flex มันมี Abstract class ด้วยก็เลยนั่งขุดๆ หาว่าจะทำยังไงได้บ้าง สุดท้ายเลยไปดูว่า Abstract class มันมีคุณสมบัติยังไงบ้างแทน ท่าทางจะง่ายกว่า ^^!

Abstract class ในฝั่งจาวาจริงๆ แล้วมันก็มีคุณสมบัติง่ายๆ คือสร้างตรงๆ ไม่ได้ด้วยคีย์เวิร์ด new ต้องเอาไปสืบทอดต่อ แล้วสร้างลูกขึ้นมาแทน ไว้สำหรับนิยามพฤติกรรมพื้นฐานที่ลูกน่าจะมีเหมือนกันเอาไว้ และก็สามารถกำหนดพฤติกรรมบางอย่างได้ด้วย โดยให้ลูกเอาไปทำต่อเองว่าลูกแต่ละตัวพฤติกรรมเดียวกันนี้ จะมีลักษณะท่าทางยังไง อย่างอื่นก็เหมือนคลาสโดยทั่วไป

คราวนี้มาฝั่ง Flex ค้นๆ ใน Google ดูเหมือนจะมีคนทำไว้บ้างแล้วโดยการบังคับใน Constructor ให้ไล่เช็คว่า มีการเขียน function หรือป่าว ถ้าไม่มีก็โวยวายออกมาแต่ว่ามันต้องใช้ของเพิ่มเติมนี่สิ สุดท้ายเลยเล่นง่ายได้โค้ดออกมาตามด้านล่าง

class AbstractClass {
  function AbstractClass():void { throw new Error("Must inherit this class") }
  function firstBehavior():void { throw new Error("Must implement this function") }

  function secondBehavior():void {
    Alert("Hello, world")
    firstBehavior()
  }
}

ง่ายกว่าที่คิดเยอะเลย ^^!

About llun

Just a programmer

, , ,