ความแตกต่างคืออะไร?

ในการเขียนโปรแกรมซอฟต์แวร์ object-oriented programming (OOP) เป็นเฟรมเวิร์กที่พยายามสร้างวัตถุจากสิ่งต่าง ๆ ในโลกแห่งความเป็นจริง ทฤษฎีและการปฏิบัติของความแตกต่างได้รับการสนับสนุนอย่างมากในหลักการ OOP โดยทั่วไปแล้ววัตถุควรถูกสร้างขึ้นเพื่อให้มีคุณสมบัติและพฤติกรรมพื้นฐานที่มีความเข้าใจว่าสิ่งเหล่านี้จะเปลี่ยนไปเมื่อมันกลายเป็นประเภทที่เฉพาะเจาะจง

ความแตกต่างคือความสามารถในการมีตัวแปรฟังก์ชั่นหรือวัตถุที่มีมากกว่าหนึ่งความหมายในโปรแกรม มีการออกแบบสถาปัตยกรรมที่หลากหลายที่แสดงให้เห็นถึงความแตกต่าง การออกแบบเหล่านี้แสดงให้เห็นว่าวัตถุจะถูกนำมาใช้ซ้ำภายในแอพพลิเคชั่นได้หลายวัตถุประสงค์

ภาษาการเขียนโปรแกรมหลายภาษารองรับการใช้ polymorphism กระบวนการนี้ช่วยให้สามารถนำกฎเกณฑ์ทางธุรกิจและรหัสซอฟต์แวร์มาใช้ซ้ำได้ตลอดทั้งแอปพลิเคชัน ไม่ใช่ทุกภาษาโปรแกรมที่รองรับพฤติกรรม polymorphic เต็มรูปแบบ แต่ส่วนใหญ่สนับสนุนแนวคิดพื้นฐาน ภาษา OOP ที่แท้จริงทั้งหมดรวมถึงJava®, .net และ C ++ ®สนับสนุนแนวทางและเทคนิคขั้นสูงเพิ่มเติม

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

การใช้ทฤษฎี polymorphism ช่วยประหยัดเวลาของนักพัฒนาโดยลดรหัสที่สูญเปล่า มันทำให้การเขียนโค้ดง่ายขึ้นและง่ายต่อการเข้าใจของผู้อื่น นอกจากนี้ยังทำให้ซอฟต์แวร์สามารถขยายได้เนื่องจากสามารถเพิ่มชนิดในอนาคตได้ในภายหลังโดยใช้ออบเจ็กต์บรรพบุรุษพื้นฐานภายในรหัสที่มีอยู่ โดยทั่วไปแอปพลิเคชันที่พัฒนาในลักษณะนี้มีความยืดหยุ่นและง่ายต่อการขยายโดยต้องการรหัสน้อยลงสำหรับการปรับเปลี่ยนในอนาคต

ทฤษฎีความแตกต่างยังใช้กับฟังก์ชั่น ฟังก์ชั่นเป็นส่วนหนึ่งของรหัสซอฟต์แวร์ที่ทำหน้าที่เฉพาะ ฟังก์ชั่นยังสามารถเขียนในลักษณะ polymorphic วิธีการนี้ทำให้รหัสมีความยืดหยุ่นมากขึ้นเนื่องจากสามารถนำฟังก์ชันกลับมาใช้ใหม่สำหรับกฎทางธุรกิจอื่น ๆ ภายในซอฟต์แวร์ได้

ตัวอย่างที่ดีของความแตกต่างกับฟังก์ชั่นจะเป็นฟังก์ชั่นการเรียงลำดับ ฟังก์ชันประเภทนี้จะเรียงลำดับรายการหมายเลข ฟังก์ชั่น polymorphic ไม่เพียงเรียงลำดับตัวเลข แต่สามารถเรียงลำดับวัตถุชนิดใดก็ได้ สิ่งนี้ทำให้ฟังก์ชั่นมีประสิทธิภาพมากขึ้นเพราะมันทำงานกับข้อมูลหลายประเภท