"วิธีการ" เป็นคำพิเศษในการเขียนโปรแกรมเชิงวัตถุ ไม่มีใครรู้ว่าเมื่อใดที่เริ่มใช้คำนี้ในแง่นี้และเกี่ยวข้องกับภาษาโปรแกรมหรือสาขาอื่น ๆ ของการเรียนรู้เชิงปริมาณ
"วิธีการ" เป็นคำพิเศษในการเขียนโปรแกรมเชิงวัตถุ ไม่มีใครรู้ว่าเมื่อใดที่เริ่มใช้คำนี้ในแง่นี้และเกี่ยวข้องกับภาษาโปรแกรมหรือสาขาอื่น ๆ ของการเรียนรู้เชิงปริมาณ
คำตอบ:
Java และ C # มีวิธีการจาก C ++ ซึ่งได้รับมันจากSimula
และAlgolอาจมีอิทธิพลต่อ Simula:
นอกจากนี้เวอร์ชัน MIT ALGOL, AED-0, โครงสร้างข้อมูลที่เชื่อมโยง ("plexes", ในภาษานั้น) โดยตรงกับโพรซีเดอร์, การระบุสิ่งที่เรียกว่า "ข้อความ", "เมธอด" และ "ฟังก์ชั่นสมาชิก" ในภายหลัง
มันยากที่จะหาคำตอบที่ชัดเจน แต่ภาษาแรกในการอ้างถึงสิ่งต่าง ๆ เป็นวิธีการที่ดูเหมือนจะเป็น Simula แม้ว่านี่อาจเป็นเท็จหรือย้อนหลัง เนื่องจากฟังก์ชั่น (จากคณิตศาสตร์) และขั้นตอน (จากคณิตศาสตร์) แสดงในภาษาการเขียนโปรแกรมที่ดีที่สุดที่ฉันสามารถคิดได้คือ "วิธีการ" เป็นแบบย่อสำหรับ "วิธีการ"
ทั้งหมดนี้คือรูทีนย่อย, บิตของการสร้างรหัสโปรแกรมคอมพิวเตอร์ ฉันนึกภาพว่า "วิธีการ" ได้รับเลือกเพราะความคิดเบื้องหลังการเขียนโปรแกรมสไตล์ OOP คือการใช้รหัสซ้ำให้มากที่สุด ดังนั้นคุณอาจมีขั้นตอน แต่วิธีการทำให้ชัดเจนมากขึ้นว่าเป็นรูปแบบใหม่ในที่ทำงาน จริงๆแล้วฉันรู้จักการเรียกใช้ฟังก์ชั่นเมธอดและฉันเคยได้ยินฟังก์ชั่นที่เรียกว่าเมธอด
void
ที่มีผลตอบแทน ฟังก์ชั่นสมาชิก C ++ นั้นมีความสัมพันธ์อย่างใกล้ชิดกับฟังก์ชั่นทั่วไป (ซึ่งแตกต่างจาก Simula) - การมีthis
พารามิเตอร์โดยนัยและ (อาจ) กลไกการจัดส่งแบบรันไทม์ไม่ได้เปลี่ยนแปลงสิ่งที่คุณกำลังทำอยู่ ฉันไม่รู้ว่า C เป็นคนแรกที่ปฏิบัติหน้าที่และขั้นตอนเหมือนกันหรือไม่ แต่ Pascal (ภาษาที่ใหม่กว่า) มีfunction
และprocedure
คำหลัก - แม้ว่า IIRC แล้วฟังก์ชัน Pascal อาจมีผลข้างเคียง
ฉันได้รับการค้นหาข้อมูลเกี่ยวกับเรื่องนี้มานานหลายทศวรรษ ฉันเดาเพื่อให้ห่างไกลคำว่าเข้ามา Simula จากฟิลด์พิเศษของการคำนวณตัวเลขที่อัลกอริทึมที่เฉพาะเจาะจงที่จะใช้ฟังก์ชั่น (เช่นเป็นค่าเฉพาะหรืออะไรก็ตาม) มักจะเรียกว่าวิธีการ นี่เป็นเพราะคุณอาจมีวิธีการทางตัวเลขที่แตกต่างกันสำหรับการคำนวณฟังก์ชั่นทางคณิตศาสตร์เดียวกันกับการแลกเปลี่ยนที่แตกต่างกัน ใน OOP เนื่องจากวิธีการเอาชนะคุณอาจมีฟังก์ชั่น "เดียวกัน" ที่แตกต่างกันตามความเหมาะสมสำหรับชั้นเรียน - เช่นพื้นที่จะถูกนำไปใช้งานที่แตกต่างกันสำหรับCircleและสี่เหลี่ยมผืนผ้าซึ่งมีทั้งรูปร่างซึ่งมีพื้นที่. ดูเหมือนว่านี่เป็นการขยายที่เหมาะสมของแนวคิดดั้งเดิมของวิธีการเชิงตัวเลข
ฉันไม่รู้อะไรเลยเกี่ยวกับนิรุกติศาสตร์ของคำนี้ในประวัติศาสตร์ OOP แต่ฉันรู้ว่ามันไม่ใช่การหักทอน (อนุมานได้) ระยะที่ดีกว่า (คำศัพท์ที่ลดลงมากกว่าเดิมหรือ MDT) เพราะอาจเป็นปฏิกิริยาหรือการกระทำ
โปรแกรมเมอร์ที่มีพื้นหลัง REAL BASIC, VBx และ VB.net ตระหนักถึงการประกาศเมธอดสองวิธี "FUNCTION" & "SUB" ภาษาตระกูล BASIC อนุญาตให้ประกาศฟังก์ชันด้วยคีย์เวิร์ด "FUNCTION" รวมถึงคีย์เวิร์ด "SUB" ความแตกต่างระหว่างสองสิ่งนี้คือ "FUNCTION" สามารถหรือจะไม่ส่งคืนค่าที่เป็น "SUB" เพียงเรียกใช้โค้ด แต่จะไม่ส่งคืนค่าใด ๆ แต่ด้วยการถือกำเนิดของแนวคิด OO ข้อตกลงและฟังก์ชั่นเริ่มถูกใช้แทนวิธีการ