คอมพิวเตอร์, การเขียนโปรแกรม
Generics Java: คำอธิบายและวิธีการ
เริ่มต้นด้วยการปรากฏตัวของภาษา Java ที่มีระดับการเปลี่ยนแปลงมากซึ่งไม่ต้องสงสัยนำช่วงเวลาในเชิงบวกในการทำงานของ หนึ่งในการเปลี่ยนแปลงที่สำคัญเหล่านี้คือการแนะนำของ Java ทั่วไปหรือ generalizations ฟังก์ชั่นนี้ไม่เพียง แต่จะทำให้ภาษามีความยืดหยุ่นมากขึ้นและหลากหลาย แต่ยังมีความปลอดภัยในแง่ของการนำชนิดข้อมูล
ความจริงก็คือว่าก่อนที่จะมีการนำยาชื่อสามัญในชวารหัสทั่วไปอาจจะสร้างขึ้นไม่เพียง แต่ในแง่ของวัตถุชนิดการอ้างอิง การเชื่อมโยงดังกล่าวสามารถกำหนดวัตถุใด ๆ หลังจากที่ทุกชั้นเรียนใน Java เป็นทายาทระดับนัยวัตถุ อย่างไรก็ตามวิธีการนี้เป็นแหล่งที่มีศักยภาพของความผิดพลาดมากมายที่เกี่ยวข้องกับประเภทการรักษาความปลอดภัยในการแปลงที่ชัดเจนของวัตถุจากวัตถุชนิดเป้าหมาย เมื่อมีการใช้ภาพรวมบรรยากาศทั้งหมดจะดำเนินการโดยปริยายโดยอัตโนมัติและกำจัดแม้กระทั่งที่มีศักยภาพสำหรับข้อผิดพลาด
Generics Java: คำอธิบายและยกตัวอย่างเช่น
ขอให้เราพิจารณาตัวอย่างง่ายๆของการประยุกต์ใช้ทั่วไปในชั้นเรียนปกติในรูปด้านล่าง และดำเนินการตรวจสอบรายละเอียดของรายละเอียดปลีกย่อยทั้งหมดและความแตกต่างของ Java ทั่วไป
ให้ความสนใจกับวิธีการที่ประกาศคลาสเกิดขึ้นคู่ ทันทีหลังจากที่ชื่อชั้นวงเล็บมุมเปิดซึ่งระบุ T. ตัวอักษรมันเป็นชนิดของฟิลเลอร์ที่อยู่ในกระบวนการของการสร้างอินสแตนซ์ของคลาสนี้จะถูกแทนที่โดยประเภทที่เฉพาะเจาะจง มันมีลักษณะดังต่อไปนี้: คู่
หมายเหตุ: การเริ่มต้นกับรุ่นที่แปดของ Java ระบุประเภทเป้าหมายเมื่อประกาศวงเล็บมุมอ้างอิงในตัวสร้างสามารถด้านซ้ายที่ว่างเปล่า ดังนั้นตัวอย่างเช่นสามารถเขียนใหม่ดังกล่าวข้างต้น: คู่
เมื่อชั้นมีการประกาศในลักษณะดังกล่าวแล้วในร่างกายของเขาแทนการระบุชนิดของเขตข้อมูลการเชื่อมโยงวัตถุกลับโดยวิธีการที่คุณสามารถใช้ตัวอักษรที่ ตั้งแต่ T เมื่อมีการสร้างวัตถุชั้นจะถูกแทนที่ด้วยประเภทเฉพาะเขตข้อมูลครั้งแรกและครั้งที่สองในกรณีนี้จะเป็นชนิดจำนวนเต็ม
ต่อไปนี้ตรรกะของการขัดแย้งและ firstItem secondItem เรียกเพื่อสร้างที่เหมาะสมนอกจากนี้ยังต้องเป็นชนิดจำนวนเต็มหรือ subclass ถ้าคุณพยายามที่จะส่งชนิดข้อมูลที่แตกต่างจากสิ่งที่ถูกกำหนดเมื่อสร้างวัตถุคอมไพเลอร์จะไม่ยอมให้ความผิดพลาดนี้ ดังนั้นตัวสร้างข้อโต้แย้งเมื่อวัตถุจะเป็นดังนี้: คู่
ทั่วไปประเภทชั้นหลายพารามิเตอร์
ในชั้นเรียนทั่วไปยังสามารถประกาศพารามิเตอร์หลายชนิดที่มีการตั้งค่าในวงเล็บมุมด้วยเครื่องหมายจุลภาค การออกแบบใหม่โดยกรณีระดับคู่จะนำเสนอด้านล่าง
ที่คุณสามารถดูเมื่อคุณสร้างอินสแตนซ์ของคลาสนี้ในวงเล็บมุมควรจะระบุหมายเลขเดียวกันของประเภทเป็นพารามิเตอร์ หากคุณมีความคุ้นเคยกับประเภทของโครงสร้างข้อมูลเป็นแผนที่นี้คุณจะเห็นว่ามันใช้ว่าหลักการเดียวกัน มีอาร์กิวเมนต์แรกระบุชนิดของคีย์และสอง - ประเภทของค่า มันควรจะตั้งข้อสังเกตว่าประเภทของการส่งเมื่อมีข้อโต้แย้งวัตถุอาจทับซ้อน ยกตัวอย่างเช่นการโฆษณาต่อไปเช่นชั้นคู่เป็นอย่างถูกต้อง: คู่
คุณสมบัติบางอย่างของภาพรวม
ก่อนที่จะไปต่อไปก็ควรจะตั้งข้อสังเกตว่าคอมไพเลอร์ Java ไม่สร้างรุ่นที่แตกต่างของชั้นจับคู่ ในความเป็นจริงในขั้นตอนของการรวบรวมประเภททั่วไปข้อมูลทั้งหมดจะถูกลบ แต่คุณนำประเภทที่เหมาะสม, การสร้างรุ่นพิเศษของชนชั้นคู่ อย่างไรก็ตามในโปรแกรมยังคงมีเพียงรุ่นทั่วไปของชั้นเรียน กระบวนการนี้เรียกว่าในชวาประเภททำความสะอาดทั่วไป
หมายเหตุ: จุดสำคัญ เชื่อมโยงไปยังรุ่นที่แตกต่างของชนชั้นทั่วไปเดียวกัน Java ไม่สามารถชี้ไปที่หนึ่งและวัตถุเดียวกัน นั่นคือสมมติว่าเรามีสองการเชื่อมโยง: คู่
ข้อ จำกัด ในการเรียนทั่วไป
มันเป็นสิ่งสำคัญที่จะรู้ว่าภาพรวมสามารถนำมาใช้กับประเภทของการอ้างอิงที่มีการส่งผ่านพารามิเตอร์อาร์กิวเมนต์คลาสจาวาทั่วไปจะต้องเป็นประเภทระดับ ประเภทเหล่านี้ง่ายเช่นเช่นคู่หรือยาวไม่สามารถโอน ในคำอื่น ๆ บรรทัดต่อไปนี้คู่ประกาศคลาสไม่ได้รับอนุญาต: คู่
อีกข้อ จำกัด ที่ร้ายแรงคือไม่สามารถที่จะสร้างตัวอย่างของพารามิเตอร์ชนิดที่ ยกตัวอย่างเช่นบรรทัดต่อไปนี้จะทำให้เกิดการรวบรวมข้อผิดพลาด: T แรก = T () ใหม่ นี้เป็นที่ชัดเจนเพราะคุณไม่ทราบล่วงหน้าว่าข้อโต้แย้งผ่านระดับเต็มหรือนามธรรมหรือแม้กระทั่งการติดต่อ เดียวกันจะไปสำหรับการสร้างอาร์เรย์
ประเภท จำกัด
ค่อนข้างบ่อยมีสถานการณ์เมื่อมันเป็นสิ่งจำเป็นที่จะ จำกัด รายการประเภทที่สามารถส่งผ่านเป็นอาร์กิวเมนต์ชวาคลาทั่วไปนั้น ขอให้เราคิดว่าในคู่ชั้นเรียนของเราเราต้องการที่จะแค็ปซูเฉพาะค่าตัวเลขสำหรับการดำเนินการทางคณิตศาสตร์เพิ่มเติมเกี่ยวกับพวกเขา การทำเช่นนี้เราจำเป็นต้องกำหนดขีด จำกัด บนของประเภทพารามิเตอร์ มันเป็นที่รู้โดยใช้วิธีการโฆษณา superclass รับมรดกขัดแย้งทั้งหมดที่ผ่านมาในวงเล็บมุม ก็จะมีลักษณะดังนี้ระดับคู่
นี่คือการต้อนรับที่พบบ่อย ข้อ จำกัด ดังกล่าวมักจะใช้เพื่อให้พารามิเตอร์ชนิดเข้ากันได้ในหนึ่งและระดับเดียวกัน ลองพิจารณาตัวอย่างในชั้นเรียนคู่ของเรา: ชั้นคู่
จำกัด "ด้านล่าง" คือตรงทางเดียวกัน แต่แทนที่จะคำขยายการสะกดคำซุปเปอร์ ว่าชั้นจะจัดคู่
Java วิธีการทั่วไปและการก่อสร้าง
ใน Java generalizations สามารถนำมาใช้ไม่เพียง แต่จะเรียน แต่ยังมีวิธีการ ตัวอย่างเช่นวิธีการทั่วไปสามารถประกาศในห้องเรียนปกติ
เท่าที่เห็นในรูปด้านบนวิธีการโฆษณาทั่วไปคือไม่มีเรื่องใหญ่ เพียงพอก่อนที่จะพิมพ์กลับของวิธีการที่จะนำวงเล็บมุมและระบุชนิดพารามิเตอร์ในพวกเขา
หากทุกอย่างจะทำคล้าย ๆ กับสร้าง:
วงเล็บมุมในกรณีนี้ใส่ก่อนชื่อของนักออกแบบเพราะเขามีค่าตอบแทนใด ๆ ผลของโปรแกรมทั้งสองจะได้รับ:
จำนวนเต็ม
เชือก
Similar articles
Trending Now