ดังนั้น ... ฉันทำวิจัยเล็กน้อย บทเรียนต่อไปนี้เป็นบทเรียนประวัติศาสตร์เล็กน้อยสำหรับผู้ที่สนใจ :) ข้ามไปยังข้อสรุปที่ด้านล่างหากคุณสนใจคำตอบเท่านั้น
พ.ศ. 2510 :
Simula 67 , เชิงวัตถุภาษาการเขียนโปรแกรมครั้งแรกกำหนดเป็นคำหลักชั้น , วัตถุ , โทรโดยการอ้างอิง , โทรโดยค่าและเสมือน
ระบบการสืบทอดของ SIMULA นั้นเป็นที่รู้จักกันในชื่อเดิมคือconcatenation (และต่อมารู้จักกันในชื่อprefixing ) ซึ่งอ้างถึงความจริงที่ว่ารหัสของ supertypes ถูกคัดลอกและ 'concatenated' พร้อมรหัสย่อย ต่อมาอีกรูปแบบหนึ่งของระบบการสืบทอดเกิดขึ้นการมอบหมายที่การโทรได้รับการมอบหมายโดยการอ้างอิงถึงประเภทที่ถูกต้อง
เสมือนมีแนวโน้มมากที่สุดหมายถึงกระบวนการที่จะต้องดำเนินการเพื่อส่งการเรียกร้องให้การดำเนินงานที่ถูกต้องโดยใช้ตารางวิธีเสมือน มันเสมือนจริงเมื่อเทียบกับการใช้งานแบบถาวร / เป็นรูปธรรม
พ.ศ. 2514 :
Niklaus Wirth เขียนเกี่ยวกับแนวคิดที่กำหนดเป็นการปรับแต่งแบบขั้นตอนแบบขั้นตอนการปรับแต่งโดยทั่วไปจะอธิบายวิธีแบ่งโปรแกรมในโซลูชันบางส่วนซึ่งสามารถขยายได้
1974 :
นี่คือกระดาษแรกสุดที่ฉันค้นพบซึ่งเหรียญประเภทข้อมูลนามธรรมโดยบาร์บาร่าลิสคอฟลิสคอฟ
ชนิดข้อมูลนามธรรมจะกำหนดคลาสของวัตถุนามธรรมซึ่งมีลักษณะที่สมบูรณ์โดยการดำเนินการที่มีอยู่ในวัตถุเหล่านั้น ซึ่งหมายความว่าประเภทนามธรรมสามารถกำหนดได้โดยการกำหนดลักษณะการดำเนินงานสำหรับประเภทนั้น เมื่อโปรแกรมเมอร์ใช้ประโยชน์จากวัตถุข้อมูลนามธรรมเขามีความกังวลเฉพาะกับพฤติกรรมที่วัตถุนั้นจัดแสดง แต่ไม่ได้มีรายละเอียดใด ๆ ว่าพฤติกรรมนั้นสำเร็จได้อย่างไรโดยการใช้งาน
บทความนี้ยังกำหนดคลัสเตอร์การดำเนินการซึ่งดูเหมือนจะระบุสิ่งที่เรารู้ว่าเป็นอินเทอร์เฟซอินเตอร์เฟซ
คำศัพท์ทางวิทยาศาสตร์ที่น่าสนใจ (บทความจากปี 1996):
มรดก : กลไกระดับต่ำที่วัตถุหรือคลาสสามารถแชร์ลักษณะการทำงานหรือข้อมูลได้
ชนิดย่อย : แสดงความเชี่ยวชาญเฉพาะทาง รูปแบบเฉพาะของการสืบทอดที่เรียกว่าอินเตอร์เฟซการรับมรดก
หลักการที่เป็นนามธรรม : กระบวนการในการจัดระเบียบความรู้ของเราเกี่ยวกับโดเมนแอพพลิเคชั่นไปสู่การจัดอันดับลำดับขั้นของการเรียงลำดับของ abstractions เพื่อให้ได้ความเข้าใจที่ดีขึ้นของปรากฏการณ์ที่เกี่ยวข้อง
abstractions นำมาใช้บางส่วน : abstractions ซึ่งมีคำจำกัดความที่ถูกทิ้งไว้โดยไม่ตั้งใจ
คลาสนามธรรม : คำศัพท์เฉพาะสำหรับการนำไปใช้บางส่วนคลาสที่ในระบบเชิงวัตถุ
การสืบทอดแบบไม่ จำกัด : อนุญาตให้การดำเนินการถูกกำหนดใหม่ (หรือลบออก) ในคลาสย่อย
มรดกที่เข้มงวด : การสืบทอดที่เข้ากันได้กับพฤติกรรม
ข้อสรุป :
คลาสนามธรรมเป็นคำทั่วไปที่ใช้ในระบบเชิงวัตถุ ดูเหมือนว่าฟังก์ชั่นเสมือนที่บริสุทธิ์และไม่บริสุทธิ์นั้นมาจาก C ++ เท่านั้น ตัวอย่างเช่นการสัมภาษณ์กับ Stroustrupทำให้ดูเหมือนว่าเขาคิดค้นคำศัพท์ เอกสารทางวิทยาศาสตร์ใช้คำศัพท์ทั่วไปมากกว่า
เสมือนมาจาก SIMULA ซึ่งทำให้การใช้งานแพร่หลาย แต่ก็ไม่ใช่คำทั่วไป มันกำหนดรายละเอียดการใช้งานไปแล้ว การพูดในลักษณะของการถ่ายทอดทางพันธุกรรมมีความเหมาะสมมากกว่า ไม่เสมือนโดยค่าเริ่มต้นสอดคล้องกับการสืบทอดที่เข้มงวดโดยค่าเริ่มต้นในขณะที่เสมือนโดยค่าเริ่มต้นสอดคล้องกับการสืบทอดที่ไม่ จำกัด
ใครสนใจปรับรายการวิกิพีเดีย ? :)