โปรแกรมเชิงวัตถุประกอบด้วยวัตถุแต่ละวัตถุมีชิ้นส่วนที่ใช้งานได้เฉพาะที่สัมผัสกับผู้ใช้และชิ้นส่วนการใช้งานที่ซ่อนอยู่ ในการเขียนโปรแกรมเชิงวัตถุ (OOP) ไม่จำเป็นต้องใส่ใจเกี่ยวกับการใช้งานเฉพาะของวัตถุ ในการเขียนโปรแกรมที่มีโครงสร้างแบบดั้งเดิมอัลกอริทึมจะได้รับการจัดอันดับเป็นอันดับแรกและโครงสร้างข้อมูลได้รับการจัดอันดับสองนั่นคือก่อนอื่นกำหนดวิธีการทำงานจากนั้นพิจารณาวิธีการจัดระเบียบข้อมูลเพื่ออำนวยความสะดวกในการดำเนินการ OOP กลับคำสั่งนี้วางข้อมูลก่อนจากนั้นพิจารณาอัลกอริทึมที่ใช้งานข้อมูล
I. ชั้นเรียน
คลาสเป็นเทมเพลตและพิมพ์เขียวสำหรับการสร้างวัตถุ ในแง่ของ Layman นั้นเทียบเท่ากับภาพวาดของอาคารในขณะที่วัตถุนั้นเทียบเท่ากับอาคาร กระบวนการสร้างวัตถุจากคลาสเรียกว่าการสร้างอินสแตนซ์ของวัตถุ
ใน Java "คลาส" ถูกกำหนดโดยคลาสคำหลักตามด้วยชื่อคลาส ตัวอย่างเช่น:
บุคคลในชั้นเรียน {// เนื้อหาร่างกายคลาส}ชั้นเรียนบุคคลถูกกำหนด
1. ฟิลด์และวิธีการ
เมื่อกำหนดคลาสองค์ประกอบสองประเภทสามารถตั้งค่าในคลาส: สมาชิกข้อมูลและฟังก์ชั่นสมาชิก ที่สมาชิกข้อมูลเป็นวัตถุซึ่งสามารถเป็นประเภทใดก็ได้ หากเป็นที่จับที่ชี้ไปที่วัตถุมือจับนี้จะต้องเริ่มต้นและเชื่อมต่อกับวัตถุจริงผ่านตัวสร้าง หากเป็นชนิดข้อมูลพื้นฐานสามารถเริ่มต้นได้โดยตรงที่ตำแหน่งนิยามคลาส
แต่ละวัตถุยังคงพื้นที่เก็บข้อมูลสำหรับสมาชิกข้อมูลของตัวเอง สมาชิกข้อมูลจะไม่ถูกแชร์ระหว่างวัตถุ
บุคคลในชั้นเรียน {ชื่อสตริง; เงินเดือนสองเท่า;} สร้างวัตถุด้วยคำหลัก new ชอบ:
บุคคล p = คนใหม่ ();
(1) ค่าเริ่มต้นของสมาชิกหลัก
หากประเภทข้อมูลหลักบางประเภทเป็นของสมาชิกในชั้นเรียนก็ไม่ชัดเจนว่าการเริ่มต้นสามารถตรวจสอบให้แน่ใจว่าพวกเขาได้รับค่าเริ่มต้น
| ประเภทหลัก | ค่าเริ่มต้น |
| บูลีน | เท็จ |
| ถ่าน | '/U0000' (NULL) |
| ไบต์ | (ไบต์) 0 |
| สั้น | (สั้น) 0 |
| int | 0 |
| ยาว | 0L |
| ลอย | 0.0f |
| สองเท่า | 0.0D |
หากตัวแปรเป็นตัวแปรสมาชิกของชั้นเรียนมันจะเริ่มต้นอย่างแน่นอนสำหรับประเภทหลักและควรให้ความสนใจเป็นพิเศษกับค่าเริ่มต้น สำหรับตัวแปรท้องถิ่นจะได้รับค่าสุ่มบางอย่างเช่น: int x; จะไม่เริ่มต้นโดยอัตโนมัติถึง 0
(2) วิธีการ
ส่วนประกอบพื้นฐานของวิธีการรวมถึง ชื่อ ตัวแปร อิสระ ประเภทการส่งคืน และ ร่างกาย รูปแบบพื้นฐานของวิธีการคือ:
返回类型方法名(/*自变量列表*/) {/* 方法体*/}ประเภทการส่งคืน หมายถึงประเภทตัวเลขที่ส่งคืนหลังจากวิธีการที่เรียกว่า ชื่อวิธี คือการระบุและการอ้างอิงของวิธีการเฉพาะ รายการอาร์กิวเมนต์ แสดงประเภทและชื่อของข้อมูลที่คุณต้องการส่งผ่านไปยังวิธีการ
ใน Java วิธีนี้เรียกว่า对象名.方法名
1. ใช้ที่จับเพื่อใช้งานวัตถุ
แม้ว่า Java จะมุ่งเน้นไปที่วัตถุอย่างสมบูรณ์ อย่างไรก็ตามตัวระบุการดำเนินการชี้ไปที่ " ด้ามจับ " ของวัตถุหรือที่เรียกว่า " การอ้างอิง " ด้ามจับสามารถอยู่ได้อย่างอิสระไม่ต้องบอกว่าถ้าคุณมีที่จับคุณต้องมีวัตถุที่สอดคล้องกับมัน ตัวอย่างเช่น int i; กำหนดตัวแปรจำนวนเต็ม I ซึ่งไม่ได้หมายความว่าจะต้องมีค่า ตัวอย่างเช่นสร้างที่จับสตริง:
สตริง s;
ที่นี่มีเพียงการสร้างที่จับและไม่มีการสร้างวัตถุ เนื่องจาก S ไม่มีวัตถุที่เกี่ยวข้องกับมันข้อยกเว้นจะปรากฏขึ้นหาก S ถูกเรียก ดังนั้นจึงจำเป็นต้องมีการเริ่มต้นเมื่อสร้าง
สตริง s = "สวัสดี";
ใน Java วัตถุถูกสร้างขึ้นด้วยคำหลัก ใหม่ ซึ่งส่งคืนการอ้างอิงไปยังวัตถุ (เช่นที่จับ) ดังนั้น
สตริง s = สตริงใหม่ ("สวัสดี");วัตถุสตริงที่มีเนื้อหา "สวัสดี" ถูกสร้างขึ้นและที่จับ (อ้างอิง) ของวัตถุถูกส่งไปยัง S เพื่อบันทึก
2. ตำแหน่งของการจัดเก็บข้อมูล
1. ลงทะเบียน พื้นที่ประหยัดที่เร็วที่สุดซึ่งอยู่ในโปรเซสเซอร์ ขนาดของการลงทะเบียนมี จำกัด และขนาดถูกจัดสรรโดยคอมไพเลอร์
2. สแต็ค อยู่ในพื้นที่ RAM ปกติ (หน่วยความจำการเข้าถึงแบบสุ่ม) ขนาดสามารถเปลี่ยนได้ผ่าน "ตัวชี้สแต็ก" การย้ายตัวชี้สแต็กลงจะสร้างพื้นที่หน่วยความจำใหม่ การเลื่อนขึ้นจะเพิ่มพื้นที่หน่วยความจำ เมื่อสร้างโปรแกรมคอมไพเลอร์ Java จะต้องรู้ว่า "ความยาว" และ "เวลาของการดำรงอยู่" ของข้อมูลทั้งหมดที่เก็บไว้ในสแต็กและคอมไพเลอร์จะสร้างรหัสที่เกี่ยวข้องเพื่อย้ายตัวชี้ ที่จับของวัตถุ Java ถูกเก็บไว้ในนั้น แต่วัตถุ Java ไม่ได้เก็บไว้ในสแต็ก
3. กอง พูลหน่วยความจำเพื่อจุดประสงค์ปกติที่มีการบันทึกวัตถุ Java คอมไพเลอร์ไม่ทราบหรือจำเป็นต้องรู้ว่าพื้นที่เก็บข้อมูลที่จัดสรรจาก "กองหน่วยความจำ" หรือ "ฮีป" เท่าใดและข้อมูลจะอยู่ได้นานเท่าใด
4. ที่เก็บข้อมูลคงที่ คงที่หมายถึงตำแหน่งคงที่ (ใน RAM) ในระหว่างการทำงานของโปรแกรมข้อมูลที่จัดเก็บแบบคงที่จะพร้อมใช้งานสำหรับการโทรได้ตลอดเวลา บ่งชี้ว่าองค์ประกอบเฉพาะของวัตถุนั้นคงที่โดยคำหลักคงที่ Java เองไม่สามารถวางไว้ในพื้นที่เก็บข้อมูลแบบคงที่
5. การจัดเก็บคงที่ ค่าคงที่มักจะอยู่ในรหัสโปรแกรมและไม่เปลี่ยนแปลง
6. ที่เก็บข้อมูลที่ไม่ใช่ RAM หากข้อมูลเป็นอิสระอย่างสมบูรณ์ของโปรแกรมก็ยังคงมีอยู่เมื่อโปรแกรมไม่ทำงานและอยู่ในขอบเขตการควบคุมของโปรแกรม ตัวอย่างเช่นการสตรีมวัตถุและวัตถุคงที่
2. วัตถุ
สามลักษณะหลักของวัตถุ:
•พฤติกรรมของวัตถุ - การดำเนินการใดที่สามารถนำไปใช้กับวัตถุหรือวิธีใดที่สามารถนำไปใช้กับวัตถุได้?
•สถานะวัตถุ - วัตถุตอบสนองอย่างไรเมื่อเพิ่มวิธีการเหล่านั้น
•การระบุวัตถุ - วิธีการระบุวัตถุต่าง ๆ ที่มีพฤติกรรมและสถานะเดียวกัน?
พฤติกรรมของวัตถุถูกกำหนดโดยวิธีที่เรียกได้ แต่ละวัตถุเก็บข้อมูลที่อธิบายคุณสมบัติปัจจุบันซึ่งเป็นสถานะของวัตถุ สถานะของวัตถุไม่เปลี่ยนแปลงตามธรรมชาติ คลาสที่ออกแบบมาอย่างดีสามารถใช้งานได้โดยวิธีการโทรเท่านั้น หากสถานะของวัตถุเปลี่ยนไปโดยไม่มีการเรียกใช้วิธีการหมายความว่าการห่อหุ้มถูกทำลาย
การห่อหุ้ม: วิธีการใช้งานที่รวมข้อมูลและพฤติกรรมในแพ็คเกจและซ่อนข้อมูลจากผู้บริโภคของวัตถุ กุญแจสำคัญในการห่อหุ้มคือวิธีการในคลาสจะต้องไม่เข้าถึงโดเมนอินสแตนซ์ของคลาสอื่นโดยตรง โปรแกรมโต้ตอบผ่านข้อมูลวัตถุเมธอดของวัตถุเท่านั้น
ข้อมูลในวัตถุเรียกว่าฟิลด์อินสแตนซ์หรือแอตทริบิวต์ กระบวนการจัดการข้อมูลเรียกว่าวิธีการ สำหรับแต่ละวัตถุเฉพาะมีชุดเฉพาะของค่าโดเมนอินสแตนซ์ (ค่าแอตทริบิวต์) และชุดของค่าเหล่านี้คือสถานะปัจจุบันของวัตถุ
ความสัมพันธ์ระหว่างชั้นเรียน
ความสัมพันธ์ทั่วไประหว่างชั้นเรียน:
•การพึ่งพา ("use-a"): วิธีการของชั้นเรียนหนึ่งจะจัดการวัตถุของคลาสอื่น
•การรวม ("Have-A"): วัตถุของคลาสหนึ่งมีวัตถุของคลาสอื่น
•การสืบทอด ("IS-A"): ใช้เพื่อแสดงถึงความสัมพันธ์ระหว่างพิเศษและทั่วไป หากคลาส A ขยายคลาส B (A สืบทอด B) คลาส A ไม่เพียง แต่มีวิธีการของคลาส B แต่ยังรวมถึงวิธีการขยาย
วัตถุไม่ได้มีวัตถุจริง ๆ แต่หมายถึงวัตถุเท่านั้น
ใน Java ค่าของตัวแปรวัตถุใด ๆ คือการอ้างอิงถึงวัตถุที่เก็บไว้ในที่อื่น ค่าส่งคืนของตัวดำเนินการใหม่ก็เป็นข้อมูลอ้างอิงเช่นกัน
บทความข้างต้นเข้าใจคลาส Java และวัตถุอย่างครอบคลุมเป็นเนื้อหาทั้งหมดที่ฉันได้แบ่งปันกับคุณ ฉันหวังว่ามันจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น