มีปัญหาเกี่ยวกับคำศัพท์ประมาณร้อยที่นี่ส่วนใหญ่สร้างขึ้นรอบ ๆ ใครบางคน (ไม่ใช่คุณ) พยายามทำให้ความคิดของพวกเขาฟังดูเหมือนดีที่สุด
ภาษาเชิงวัตถุทั้งหมดจะต้องสามารถจัดการกับแนวคิดหลายอย่าง:
- การห่อหุ้มข้อมูลพร้อมกับการดำเนินการที่เกี่ยวข้องกับข้อมูลที่รู้จักกันหลากหลายในฐานะสมาชิกข้อมูลและฟังก์ชั่นสมาชิกหรือเป็นข้อมูลและวิธีการเหนือสิ่งอื่นใด
- การสืบทอดความสามารถในการพูดว่าวัตถุเหล่านี้เป็นเหมือนชุดของวัตถุอื่นยกเว้นการเปลี่ยนแปลงเหล่านี้
- polymorphism ("หลายรูปร่าง") ซึ่งวัตถุตัดสินใจด้วยตัวเองว่าจะใช้วิธีการใดเพื่อให้คุณสามารถพึ่งพาภาษาเพื่อกำหนดเส้นทางคำขอของคุณได้อย่างถูกต้อง
ตอนนี้เท่าที่เปรียบเทียบ:
สิ่งแรกคือคำถาม "คลาส" กับ "ต้นแบบ" ทั้งหมด ความคิดเริ่มต้นใน Simula ที่มีวิธีการเรียนตามแต่ละชั้นเรียนเป็นชุดของวัตถุที่ใช้พื้นที่รัฐเดียวกัน (อ่าน "ค่าที่เป็นไปได้") และการดำเนินงานเดียวกันจึงสร้างชั้นเทียบเท่า หากคุณมองย้อนกลับไปที่สมอลทอล์คเนื่องจากคุณสามารถเปิดคลาสและเพิ่มเมธอดนี่เป็นวิธีเดียวกับที่คุณสามารถทำได้ใน Javascript
ต่อมาภาษา OO ต้องการที่จะสามารถใช้การตรวจสอบประเภทแบบคงที่ดังนั้นเราจึงได้รับความคิดของชุดชั้นคงที่ในเวลารวบรวม ในเวอร์ชันโอเพ่นคลาสคุณมีความยืดหยุ่นมากกว่า ในเวอร์ชันที่ใหม่กว่าคุณมีความสามารถในการตรวจสอบความถูกต้องบางอย่างที่คอมไพเลอร์ซึ่งอาจจำเป็นต้องมีการทดสอบ
ในภาษา "ตามคลาส" การคัดลอกนั้นเกิดขึ้นในเวลารวบรวม ในภาษาต้นแบบการดำเนินการจะถูกเก็บไว้ในโครงสร้างข้อมูลต้นแบบซึ่งจะถูกคัดลอกและแก้ไขในเวลาทำงาน แม้ว่าจะเป็นนามธรรม แต่คลาสก็ยังคงเป็นคลาสที่เท่าเทียมกันของวัตถุทั้งหมดที่ใช้พื้นที่และวิธีการเดียวกัน เมื่อคุณเพิ่มวิธีในต้นแบบคุณจะสร้างองค์ประกอบของคลาสสมมูลใหม่ได้อย่างมีประสิทธิภาพ
ทีนี้ทำไมถึงทำอย่างนั้น? ส่วนใหญ่เป็นเพราะมันทำให้กลไกที่เรียบง่ายตรรกะและสง่างามในเวลาทำงาน ตอนนี้เพื่อสร้างวัตถุใหม่หรือเพื่อสร้างคลาสใหม่คุณเพียงแค่ทำการคัดลอกลึกคัดลอกข้อมูลทั้งหมดและโครงสร้างข้อมูลต้นแบบ คุณจะได้รับมรดกและความหลากหลายมากขึ้นหรือน้อยลงโดยเสรี: วิธีการค้นหามักจะประกอบด้วยการขอพจนานุกรมสำหรับการใช้วิธีการตามชื่อ
เหตุผลที่สิ้นสุดลงในสคริปต์ Javascript / ECMA นั้นโดยทั่วไปแล้วเมื่อเราเริ่มต้นเมื่อ 10 ปีที่แล้วเรากำลังติดต่อกับคอมพิวเตอร์ที่ทรงพลังน้อยกว่าและเบราว์เซอร์ที่ซับซ้อนน้อยกว่ามาก การเลือกวิธีที่ใช้ต้นแบบหมายความว่าล่ามอาจง่ายมากในขณะที่รักษาคุณสมบัติที่ต้องการของการวางแนววัตถุ