นี่เป็นปัญหาที่ฉันเรียกว่า "object / subject" สับสนและค่อนข้างแพร่หลาย
ประโยคโดยทั่วไปจะมีเรื่องที่ไม่กริยาในเป้าหมายของพวกเขาวัตถุ
ขณะนี้เกี่ยวกับการเขียนโปรแกรมสิ่งเดียวที่จริง ๆ แล้วคือคอมพิวเตอร์ หรือเสมือนกระบวนการด้ายหรือไฟเบอร์ วัตถุจะไม่เคลื่อนไหวตามค่าเริ่มต้น พวกเขาไม่มีเธรดของตัวเองทำงานดังนั้นพวกเขาจึงไม่สามารถทำอะไรได้เลย
ซึ่งหมายความว่าวิธีการดำเนินการกับพวกเขาพวกเขาเป็นเป้าหมายของการกระทำที่ไม่ได้กระทำ นั่นเป็นเหตุผลที่เราเรียกพวกเขาว่า "วัตถุ" ไม่ใช่ "วิชา"!
เมื่อคุณพูดว่าFile.close
ไม่ใช่ไฟล์ที่ปิดตัวเองมันเป็นเธรดที่กำลังรันอยู่ในปัจจุบันซึ่งปิดไฟล์ ถ้าคุณบอกว่าArray.sort
เธรดที่กำลังรันอยู่จะเรียงลำดับอาร์เรย์ ถ้าคุณบอกว่าHttpServer.sendRequest
เธรดที่กำลังรันอยู่ในปัจจุบันจะส่งคำขอไปยังเซิร์ฟเวอร์ (ไม่ใช่ในทางกลับกัน!) ในทำนองเดียวกันการพูดPunchingBag.punch
หมายถึงด้ายที่ใช้อยู่ในปัจจุบันเจาะถุง
ซึ่งหมายความว่าถ้าคุณต้องการที่Boxer
จะสามารถที่จะเจาะแล้วมันจะต้องเป็น subclass ของThread
เพื่อที่จะสามารถทำสิ่งต่าง ๆ เช่นการเจาะกระเป๋าในฟังก์ชั่นด้ายของมัน
อย่างไรก็ตามบางครั้งมันก็สมเหตุสมผลที่จะพูดว่าการเจาะถุงเจาะตัวเองในกรณีที่วัตถุแต่ละชิ้นมีเกลียวของตัวเองคุณอาจต้องการหลีกเลี่ยงสภาพการแข่งขันและใช้วิธีการโทรเป็นข้อความผ่าน: คุณเจาะถุงโดยการส่งpunch
ข้อความ ตัวมันเองจะส่งข้อความถึงคุณกลับคืนมาpunch successful
แต่นั่นเป็นเพียงรายละเอียดการติดตั้งใช้งาน