การแทนที่เมธอดถูกใช้ในการเขียนโปรแกรมเชิงวัตถุภายในลำดับชั้นการสืบทอดและเกิดขึ้นเมื่อเมธอดที่กำหนดในซูเปอร์คลาสถูกกำหนดใหม่ในคลาสย่อย โดยปกติแล้ววิธีการ subclass จะทำสิ่งที่แตกต่างจากวิธี superclass หรือขยายความสามารถของ superclass แต่ไม่จำเป็นต้องเป็นกรณีนี้ การแทนที่เมธอดจะเกิดขึ้นทุกครั้งที่มีการกำหนดวิธีการใหม่ในคลาสย่อยโดยไม่คำนึงถึงเนื้อหาของวิธีการที่กำหนดใหม่ ลายเซ็นวิธีการที่กำหนดใหม่จะต้องเหมือนกันทุกประการ
ตัวอย่างเช่นคลาส A อาจมีวิธีการที่เรียกว่า "doSomething" และวิธีนี้จะไม่มีพารามิเตอร์อินพุต นอกจากนี้คลาส B และ C อาจเป็นคลาสย่อยของคลาส A. คลาส B อาจมีวิธีการที่เรียกว่า "doSomething" ซึ่งไม่มีพารามิเตอร์อินพุตและคลาส C อาจมีเมธอด "doSomething" ซึ่งใช้ตัวเลขเป็นพารามิเตอร์อินพุต ในตัวอย่างนี้คลาส B เท่านั้นที่จะแสดงให้เห็นถึงวิธีการเอาชนะเพราะวิธี "doSomething" มีลายเซ็นวิธีการเดียวกันกับ Superclass ของคลาส A. วิธีการ "doSomething" ในคลาส C ในมืออื่น ๆ แสดงให้เห็นถึงวิธีการบรรทุกเกินพิกัดเพราะมันสร้าง วิธีการใหม่ที่สมบูรณ์แบบ
การสืบทอดเสมือนใน C ++ เป็นอีกตัวอย่างหนึ่งของการแทนที่เมธอด เมธอดเสมือนในซูเปอร์คลาสอาจหรืออาจไม่ถูกนำไปใช้ แต่นิยามคลาสย่อยใด ๆ ของมันเป็นตัวอย่างของวิธีการแทนที่ เมื่อเมธอดถูกแทนที่ในคลาสย่อยเมธอดของซูเปอร์คลาสจะไม่ถูกเรียกใช้เว้นแต่จะถูกเรียกใช้อย่างชัดเจน วิธีการที่เจาะจงในการเรียกใช้เมธอด overridden มักจะถูกกล่าวเพื่อ "ซ่อน" การใช้งานซูเปอร์คลาส
แม้ว่าการแทนที่เมธอดจะมีความยืดหยุ่นสูง แต่ไม่ใช่วิธีการทั้งหมดที่สามารถแทนที่ได้และมีบางครั้งที่ความแข็งแกร่งนี้อาจจะดีกว่า ใน Java และ C ++ คำหลักเฉพาะสามารถนำไปใช้ในการลงนามเมธอดเพื่อป้องกันไม่ให้วิธีการแทนที่ในคลาสย่อย ในการทำเช่นนี้ Java ใช้คำหลัก "ขั้นสุดท้าย" และ C ++ ใช้คำหลัก "const" การป้องกันการแทนที่เมธอดจะมีประโยชน์หากฟังก์ชันเฉพาะควรไม่เปลี่ยนแปลงตลอดทรีของการสืบทอด
โดยทั่วไปวิธีการง่ายๆที่ได้รับข้อมูลชิ้นเล็ก ๆ ไม่ควรจะถูกเขียนทับ กรณีที่มีแนวโน้มว่าจะได้รับประโยชน์มากที่สุดจากการเอาชนะคือเมื่อ subclass มีจุดประสงค์เพื่อเพิ่มฟังก์ชันการทำงานให้กับวิธี superclass โดยไม่ต้องสร้างวิธีการใหม่ทั้งหมดในการทำเช่นนั้น กรณีที่ผิดปกติซึ่งต้องใช้วิธีการทำซ้ำอย่างสมบูรณ์สำหรับวัตถุชนิดหนึ่งโดยเฉพาะอาจได้รับประโยชน์จากเทคนิคนี้เช่นกัน เมื่อใดก็ตามที่เมธอดถูกแทนที่มันเป็นสิ่งสำคัญสำหรับโปรแกรมเมอร์ที่ให้ความเห็นอย่างเพียงพอทั้งเมธอดซูเปอร์คลาสและคลาสย่อย ความคิดเห็นเหล่านี้ควรอธิบายให้ชัดเจนว่าแต่ละวิธีแตกต่างกันอย่างไรรวมถึงวิธีการและเหตุผลที่แตกต่างกัน


