คำตอบนั้นซับซ้อนด้วยสองเหตุผล
คนต่าง ๆ ในวิทยาการคอมพิวเตอร์ตีความคำว่า "วัตถุ" แตกต่างกัน หนึ่งคือวัตถุประกอบด้วยข้อมูลและการดำเนินงานที่รวมกัน อีกสิ่งหนึ่งคือวัตถุล้วน แต่มี "สถานะ" นั่นคือมันเป็นรูปแบบหนึ่งของเอนทิตีที่เปลี่ยนแปลงได้
มีประเด็นเชิงปรัชญาลึก ๆ เกี่ยวกับความหมายของ "การเปลี่ยนแปลง" (และ "เอนทิตี้" หมายถึงอะไรเพราะมันเปลี่ยนแปลงอยู่ตลอดเวลา) และคำอธิบายทางคณิตศาสตร์ว่าจับหน่วยงานที่เปลี่ยนแปลงได้จริงหรือไม่
วัตถุในแง่ของข้อมูล + การดำเนินงาน : นั่นเป็นมาตรฐานที่ค่อนข้างดีในวิชาคณิตศาสตร์ ใช้ตำราเรียนทฤษฎีกลุ่มใดก็ได้ มันจะมีคำนิยามบางแห่งเช่นชั่วโมงก.( x ) = gxก.- 1. (มันเป็นตัวดำเนินการผันคำกริยา)ชั่วโมงก.เป็น "วัตถุ" ในคำศัพท์นี้ มันมีข้อมูลบางส่วนก.) และการดำเนินการ x ↦ gxก.- 1. หรือคุณสามารถทำให้มัน object-y เพิ่มเติมโดยการจับคู่⟨ กรัม, x ↦ gxก.- 1⟩ หรือสาม ⟨ กรัม, x ↦ gxก.- 1, x ↦ก.- 1x กรัม⟩. คุณสามารถสร้าง "วัตถุ" เหล่านี้ในภาษาการเขียนโปรแกรมการทำงานใด ๆ ที่มีนามธรรมแลมบ์ดาและวิธีการแบบ tuples Abadi และ Cardelli "ทฤษฎีของวัตถุ" เกี่ยวข้องกับวัตถุประเภทนี้อย่างกว้างขวาง
วัตถุที่มีสถานะ (หรือวัตถุที่เปลี่ยนแปลง ): คณิตศาสตร์มีสิ่งนั้นหรือไม่? ฉันไม่คิดอย่างนั้น ฉันไม่เคยเห็นนักคณิตศาสตร์พูดถึงสิ่งที่เปลี่ยนแปลงไม่ได้อยู่ในชีวิตการทำงานของเขา / เธอ นิวตันเคยเขียนx สำหรับตำแหน่งของอนุภาคซึ่งควรจะเปลี่ยนแปลงและ x˙สำหรับอัตราการเปลี่ยนแปลง ในที่สุดนักคณิตศาสตร์ก็พบว่าสิ่งที่นิวตันพูดถึงคือฟังก์ชั่นx ( t ) จากจำนวนจริงลงในช่องว่างเวกเตอร์และ x˙ เป็นอีกฟังก์ชั่นที่เป็นอนุพันธ์อันดับแรกของ x ( t ) ด้วยความเคารพ เสื้อ. จากนี้นักคณิตศาสตร์ที่มีความคิดลึกล้ำได้สรุปว่าการเปลี่ยนแปลงนั้นไม่มีอยู่จริงและสิ่งที่คุณมีก็คือหน้าที่ของเวลา แต่สิ่งที่เปลี่ยนแปลงไปในกลไกของนิวตันไม่ได้อยู่ในตำแหน่ง แต่เป็นอนุภาคอนุภาคตำแหน่งคือสถานะในทันที ไม่มีนักคณิตศาสตร์หรือนักฟิสิกส์จะแกล้งทำเป็นว่าอนุภาคเป็นความคิดทางคณิตศาสตร์ มันเป็นเรื่องทางกายภาพ
ดังนั้นจึงเป็นกับวัตถุ พวกเขาเป็นสิ่ง "ทางกายภาพ" และรัฐเป็นคุณลักษณะทางคณิตศาสตร์ของพวกเขา สำหรับการอภิปรายที่ดีของด้านนี้ให้ดูที่บทที่ 3 ของ Abelson และ Sussman ของโครงสร้างและการแปลความหมายของโปรแกรมคอมพิวเตอร์ นี่คือหนังสือเรียนที่ MIT และพวกเขาสอนมันให้กับนักวิทยาศาสตร์และวิศวกรทุกคนที่ฉันคิดว่าเข้าใจสิ่งที่ "สมบูรณ์" ได้อย่างสมบูรณ์แบบ
ความจริงที่ว่าอนุภาคไม่ใช่เชิงคณิตศาสตร์ไม่ได้หมายความว่าเราไม่สามารถจัดการกับพวกมันทางคณิตศาสตร์ได้ หากคุณขอให้นักคณิตศาสตร์จำลองระบบอนุภาคสองอนุภาคเขาจะสร้างฟังก์ชันขึ้นสองฟังก์ชันทันทีและเรียกพวกมันx1( t ) และ x2( t ). ดังนั้นอนุภาคทั้งสองจะลดลงเป็นสองดัชนีไร้ความหมาย (1 และ 2) นี่เป็นวิธีที่นักคณิตศาสตร์บอกว่าเราไม่รู้ว่าอนุภาคเหล่านั้นคืออะไรและเราไม่สนใจ สิ่งที่เราต้องรู้ก็คือตำแหน่งของพวกเขาพัฒนาขึ้นอย่างอิสระ (หรือแยกกัน) ดังนั้นเราจะจำลองพวกมันด้วยสองฟังก์ชัน
ในทำนองเดียวกันวิธีการทางคณิตศาสตร์มาตรฐานในการสร้างแบบจำลองโปรแกรมเชิงวัตถุคือการปฏิบัติต่อแต่ละวัตถุเป็นดัชนีในพื้นที่รัฐ ความแตกต่างเพียงอย่างเดียวก็คือตั้งแต่วัตถุมาและไปและโครงสร้างของระบบเป็นแบบไดนามิกเราจำเป็นต้องขยายไปสู่รูปแบบ "โลกที่เป็นไปได้" ซึ่งแต่ละโลกนั้นเป็นกลุ่มของดัชนี การจัดสรรและการจัดสรรคืนวัตถุจะเกี่ยวข้องกับการเคลื่อนย้ายจากโลกหนึ่งไปยังอีกโลกหนึ่ง
มีปัญหาเกิดขึ้น ซึ่งแตกต่างจากในกลศาสตร์เราต้องการรัฐของวัตถุที่เราจะได้รับการห่อหุ้ม แต่คำอธิบายทางคณิตศาสตร์ของวัตถุทำให้รัฐทั่วสถานที่ทำลาย encapsulation อย่างสมบูรณ์ มีกลอุบายทางคณิตศาสตร์ที่เรียกว่า "parametricity เชิงสัมพันธ์" ซึ่งสามารถใช้เพื่อตัดสิ่งต่าง ๆ ให้มีขนาดกลับเป็น ฉันจะไม่เข้าไปในตอนนี้ยกเว้นจะเน้นว่ามันเป็นกลลวงทางคณิตศาสตร์ไม่ใช่คำอธิบายเชิงแนวคิดเกี่ยวกับการห่อหุ้ม วิธีที่สองของการสร้างแบบจำลองวัตถุทางคณิตศาสตร์ด้วยการห่อหุ้มคือการกลเม็ดเด็ดพรายรัฐและอธิบายพฤติกรรมของวัตถุในแง่ของเหตุการณ์ที่สังเกตได้ สำหรับการอภิปรายที่ดีของทั้งสองรุ่นนี้ผมสามารถนำคุณไปยังกระดาษชื่อของฉันวัตถุและการเรียนใน Algol เหมือนภาษา
[เพิ่มหมายเหตุ:]
การวิเคราะห์ที่ดีของการสนับสนุนทางคณิตศาสตร์ของวัตถุสามารถพบได้ในบทความของ William Cook " ในการทำความเข้าใจกับข้อมูลที่เป็นนามธรรม, Revisited "