22
OOP ยากหรือไม่เพราะไม่ใช่ธรรมชาติ?
มักจะได้ยินว่า OOP นั้นสอดคล้องกับวิธีที่ผู้คนคิดเกี่ยวกับโลก แต่ฉันจะไม่เห็นด้วยอย่างยิ่งกับข้อความนี้: เรา (หรืออย่างน้อยฉัน) สร้างแนวคิดโลกในแง่ของความสัมพันธ์ระหว่างสิ่งต่าง ๆ ที่เราพบ แต่จุดเน้นของ OOP คือการออกแบบคลาสบุคคลและลำดับชั้นของพวกเขา โปรดสังเกตว่าในชีวิตประจำวันความสัมพันธ์และการกระทำมีอยู่ส่วนใหญ่ระหว่างวัตถุที่จะเป็นอินสแตนซ์ของคลาสที่ไม่เกี่ยวข้องใน OOP ตัวอย่างของความสัมพันธ์เช่น: "หน้าจอของฉันอยู่ด้านบนของตาราง"; "ฉัน (มนุษย์) กำลังนั่งอยู่บนเก้าอี้"; "รถยนต์อยู่บนถนน"; "ฉันพิมพ์บนแป้นพิมพ์"; "เครื่องชงกาแฟต้มน้ำ" "ข้อความจะปรากฏในหน้าต่างเทอร์มินัล" เราคิดในแง่ของ bivalent (บางครั้ง trivalent เช่นใน "ฉันให้คุณดอกไม้") คำกริยาที่กริยาคือการกระทำ (ความสัมพันธ์) ที่ทำงานบนวัตถุสองชิ้นเพื่อสร้างผลลัพธ์ / การกระทำบางอย่าง โฟกัสอยู่ในการดำเนินการและทั้งสอง (หรือสาม) [ไวยากรณ์] วัตถุมีความสำคัญเท่าเทียมกัน เปรียบเทียบกับ OOP ที่คุณต้องค้นหาวัตถุหนึ่ง (คำนาม) ก่อนและบอกให้ดำเนินการบางอย่างกับวัตถุอื่น วิธีการคิดเปลี่ยนจากการกระทำ / คำกริยาที่ใช้กับคำนามเป็นคำนามปฏิบัติการบนคำนาม - ราวกับว่าทุกอย่างถูกพูดด้วยเสียงเฉยๆหรือสะท้อนเสียงเช่น "ข้อความแสดงโดยหน้าต่างเทอร์มินัล" หรืออาจจะ …