หากคุณสามารถให้ฟังก์ชันที่มีประโยชน์กับคลาสเพียงพอที่จะพิสูจน์ความซับซ้อนที่เพิ่มขึ้นของการไม่ใช้สตริงให้ทำเช่นนั้น สำหรับตัวระบุเช่น ISBN และ ISIN ฉันสงสัยว่านี่ไม่ใช่กรณี
เพื่อให้คลาสตัวระบุมีประโยชน์ฉันคาดว่าจะมีลักษณะดังนี้
class ISIN {
fromCUSIP()
fromRawISINString()
toString(ISIN::FormatType)
getExchange()
getCountryCode()
getLastFourDigits()
getWhateverCode()
...
}
หากมีลักษณะเช่นนี้แทน:
class ISIN {
getString()
setString()
}
จากนั้นฉันจะให้ชั้นเรียนทั้งหมดใช้สตริงปกติทุกที่และตรวจสอบให้แน่ใจว่าฉันใช้ "isin" อย่างสม่ำเสมอในชื่อตัวแปรที่เกี่ยวข้องทั้งหมด
โปรดทราบว่าในบางภาษาการเพิ่มประเภทใหม่นั้นแทบจะไม่มี "เพิ่มความซับซ้อน" ในโปรแกรมทั่วไปซึ่งในกรณีนี้คุณควรได้รับการสนับสนุนให้สร้างรูปแบบใหม่แม้ว่าจะไม่มีฟังก์ชั่นเลยก็ตาม แต่นี่ไม่ใช่กรณีสำหรับภาษา OOP แบบดั้งเดิมส่วนใหญ่เช่น C ++