คลาสนามธรรมคืออะไร?
อันดับแรก สิ่งสำคัญคือต้องเข้าใจว่าอะไรคือ คลาสนามธรรม อยู่ใน พี.เอช.พี . คลาสที่ไม่สามารถสร้างอินสแตนซ์หรือสร้างเป็นอ็อบเจกต์ได้โดยตรง เชิงนามธรรม . คลาสอื่นที่สืบทอดมาจะใช้เป็นคลาสพื้นฐานหรือพาเรนต์แทน คลาสนามธรรม ไม่ได้จัดเตรียมการใช้งานเฉพาะของคลาสที่ได้รับมา ค่อนข้างจะสรุปโครงสร้างและพฤติกรรมของพวกเขา สิ่งนี้ทำให้คลาสที่ได้รับมาสามารถรักษาพฤติกรรมที่โดดเด่นของตนเองได้ในขณะที่ยังคงยึดมั่นในกรอบพื้นฐานที่จัดเตรียมโดยคลาสนามธรรม
เป็นส่วนหนึ่งของ พี.เอช.พี 's เปิด , คลาสนามธรรม ทำหน้าที่เป็นวิธีการกำหนดคอลเลกชั่นพื้นฐานของคุณสมบัติที่สามารถแบ่งใช้โดยคลาสที่ได้รับมาหลายคลาส นักพัฒนาสามารถจัดเตรียมเทมเพลตสำหรับคลาสที่จะสืบทอดจากคลาสนามธรรมโดยสร้างมันขึ้นมา เพื่อให้แน่ใจว่าคลาสที่ได้รับทั้งหมดสอดคล้องกับอินเทอร์เฟซเดียวกัน พิมพ์เขียวนี้ทำหน้าที่เป็นสัญญาระหว่าง คลาสนามธรรม และคลาสที่ได้รับ รายละเอียดเฉพาะของการใช้งานนั้นขึ้นอยู่กับแต่ละคลาสย่อย แต่อินเทอร์เฟซนี้จะระบุวิธีการทั่วไปที่จำเป็นสำหรับคลาสย่อยทั้งหมด การเปลี่ยนแปลงที่เกิดขึ้นกับคลาสนามธรรมจะเผยแพร่ไปยังคลาสที่ได้รับมาทั้งหมดที่ใช้งานทันที ทำให้สามารถใช้รหัสซ้ำได้มากขึ้นและบำรุงรักษาง่ายขึ้น
Abstract Classes ทำงานอย่างไรใน PHP?
เมื่อ คำหลัก 'นามธรรม' ใช้เพื่อกำหนดคลาส PHP ได้รับแจ้งว่าคลาสไม่สามารถสร้างอินสแตนซ์ได้ ทั้งคู่ เชิงนามธรรม และ ไม่เป็นนามธรรม สามารถดูวิธีการได้ใน คลาสนามธรรม . เชิงนามธรรม วิธีการถูกกำหนดด้วย 'เชิงนามธรรม' คำหลักและไม่ได้จัดเตรียมการใช้งาน - พวกเขาเพียงแค่ประกาศลายเซ็นของวิธีการ วิธีการนามธรรมเหล่านี้ต้องดำเนินการโดยคลาสที่ได้รับซึ่งมาจาก คลาสนามธรรม . ไม่เป็นนามธรรม ในทางกลับกัน วิธีการจัดเตรียมการใช้งานเริ่มต้นที่คลาสที่ได้รับมาอาจเลือกที่จะแทนที่
ลองดูตัวอย่าง:
เชิงนามธรรม ระดับ ฉัน {
เชิงนามธรรม การทำงาน เกี่ยวกับฉัน ( $ชื่อ , อายุ $ ) ;
}
ระดับ บทนำ ขยาย ฉัน {
การทำงาน เกี่ยวกับฉัน ( $ชื่อ , อายุ $ ) {
เสียงสะท้อน 'ชื่อของฉันคือ $ชื่อ และอายุของฉันคือ อายุ $ ' ;
}
}
$a = ใหม่ บทนำ ( ) ;
$a -> เกี่ยวกับฉัน ( 'บ๊อบ' , ยี่สิบเอ็ด ) ;
?>
ในโค้ดข้างต้น วิธีการนามธรรม ใน คลาสผู้ปกครองที่เป็นนามธรรม 'ฉัน' มีสองอาร์กิวเมนต์ 'ชื่อ' และ 'อายุ' คลาสย่อย 'บทนำ' ยังกำหนดฟังก์ชันเดียวกันกับอาร์กิวเมนต์ทั้งสองนี้ และคำสั่งบทนำจะถูกพิมพ์บนหน้าจอ
เอาต์พุต
ข้อดีของคลาสนามธรรมใน PHP
1: การใช้รหัสซ้ำ
คลาสนามธรรม ใน PHP มีข้อได้เปรียบอย่างมาก: ช่วยให้คุณสามารถนำโค้ดกลับมาใช้ใหม่ได้ โดยกำหนดพฤติกรรมร่วมใน คลาสนามธรรม คุณสามารถหลีกเลี่ยงการใช้โค้ดซ้ำในคลาสย่อยต่างๆ ได้ สิ่งนี้ทำให้การจัดการและบำรุงรักษาโค้ดของคุณง่ายขึ้น คลาสนามธรรม ยังช่วยให้คุณบังคับใช้ความสอดคล้องและมาตรฐานในคลาสย่อยทั้งหมดของคุณ
2: กำหนดคุณสมบัติของนามธรรม
ใน พี.เอช.พี คลาสนามธรรมมีคุณสมบัติที่มีประโยชน์ที่เรียกว่า เชิงนามธรรม คุณสมบัติ. คุณสมบัติเหล่านี้อนุญาตให้คุณตั้งค่าข้อกำหนดบางอย่างสำหรับคลาสย่อย ตัวอย่างเช่น หากคุณกำลังสร้างระบบสำหรับสัตว์ คุณสามารถตั้งค่าคุณสมบัตินามธรรมที่เรียกว่า $ชื่อ ที่ต้องการให้ทุกคลาสย่อยมีคุณสมบัติชื่อ สิ่งนี้สามารถช่วยให้แน่ใจว่ารหัสของคุณมีโครงสร้างที่สอดคล้องกัน และทำให้ง่ายต่อการเข้าใจและบำรุงรักษา
บทสรุป
ความสามารถในการออกแบบชุดของคุณสมบัติที่สามารถแบ่งปันโดยหลายชั้นเรียนทำให้ คลาสนามธรรม มีประโยชน์สำหรับนักพัฒนา สิ่งนี้นำไปสู่การใช้รหัสซ้ำมากขึ้นและการบำรุงรักษาง่ายขึ้น เนื่องจากการเปลี่ยนแปลงใด ๆ ที่ทำกับคลาสนามธรรมจะส่งผลต่อคลาสทั้งหมดที่สืบทอดมาโดยอัตโนมัติ เมื่อใช้อย่างถูกต้อง คลาสนามธรรม สามารถปรับปรุงโครงสร้างและการจัดระเบียบของโค้ดในโครงการเชิงวัตถุได้อย่างมาก อย่างไรก็ตาม สิ่งสำคัญคือต้องใช้อย่างรอบคอบ เนื่องจากการใช้มากเกินไปอาจนำไปสู่รหัสที่ซับซ้อนเกินไปและยากต่อการบำรุงรักษา