เครื่องหมายบวก+
จะใช้สำหรับการเพิ่มและสำหรับการต่อสายอักขระ แต่สหายของมัน: เครื่องหมายลบ-
, โดยทั่วไปจะไม่เห็นการตัดแต่งสตริงหรือกรณีอื่นนอกเหนือจากการลบ อะไรคือเหตุผลหรือข้อ จำกัด สำหรับสิ่งนั้น
พิจารณาตัวอย่างต่อไปนี้ใน JavaScript:
var a = "abcdefg";
var b = "efg";
a-b == NaN
// but
a+b == "abcdefgefg"
+
ดำเนินการไบนารีจะโอเวอร์โหลดด้วยความหมายที่ไม่เกี่ยวข้องทั้งหมดสองอย่างคือ "การเพิ่มตัวเลข" และ "การต่อสตริง" โชคดีที่บางภาษามีตัวดำเนินการเชื่อมต่อที่แยกต่างหากเช่น.
(Perl5, PHP), ~
(Perl6), &
(VB), ++
(Haskell), ...
->
(คิดว่าการยกเลิกการเข้าถึงการเข้าถึงสมาชิกใน C เนื่องจากการเรียกเมธอดเสมือนจำเป็นต้องมีการชี้นำทางอ้อมเหมือนตัวชี้) ไม่มีกฎหมายการออกแบบภาษาที่ต้องมีการเรียกใช้เมธอด / การเข้าถึงสมาชิกเพื่อใช้.
โอเปอเรเตอร์แม้ว่าจะเป็นวิธีการทั่วไปที่เพิ่มมากขึ้น คุณรู้หรือไม่ว่า Smalltalk ไม่มีผู้ดำเนินการเรียกใช้วิธีการ? การวางเคียงกันง่าย ๆobject method
ก็เพียงพอแล้ว