Type Casting ใน Java คืออะไร | ทำความเข้าใจการหล่อแบบเป็นมือใหม่
เผยแพร่แล้ว: 2020-03-27การเขียนโปรแกรมเป็นชุดคำสั่งในภาษาพิเศษที่มอบให้กับคอมพิวเตอร์เพื่อทำงานชุดหนึ่ง แม้ว่าหลายคนกำลังใช้ภาษาเพื่อจุดประสงค์ทางวิชาชีพ นักพัฒนาบางคนมองว่าเป็นวิธีการเล่นกับข้อมูลและสร้างฟังก์ชัน โซลูชัน และการวิเคราะห์ พวกเขาไม่เคยคิดว่าจะเป็นไปได้
นักศึกษาด้านวิทยาศาสตร์ทราบดีว่ามีภาษาการเขียนโปรแกรมที่แตกต่างกัน และภาษาที่โดดเด่นที่สุดแห่งหนึ่งใน Java นักศึกษาวิศวกรรมคอมพิวเตอร์ไม่สามารถอยู่ห่างไกลจากภาษานี้ได้ ที่สำคัญกว่านั้น ผู้เชี่ยวชาญสามารถเรียนภาษาการเขียนโปรแกรมได้อย่างอิสระ
ที่น่าสนใจคือ Java เป็นภาษาการเขียนโปรแกรมที่มีข้อมูลหลายประเภทที่ท้าทายและน่าสนใจสำหรับนักพัฒนา อย่างไรก็ตาม ความคุ้นเคยกับประเภทข้อมูลเป็นสิ่งสำคัญในการเล่นกับข้อมูลและสร้างคำแนะนำตามวัตถุประสงค์สุดท้าย ในขณะที่เขียนโค้ด นักพัฒนาอาจจำเป็นต้องเปลี่ยนประเภทข้อมูลเพื่อให้ทราบว่าตัวแปรทำงานอย่างไรภายในโค้ด การทดสอบตัวแปรข้อมูลนี้เรียกว่า Type Casting
กล่าวอย่างง่าย ๆ โปรแกรมเมอร์คอมพิวเตอร์เปลี่ยนประเภทข้อมูลหนึ่งเป็นประเภทข้อมูลอื่นเพื่อให้ฟังก์ชันประมวลผลตัวแปรได้อย่างถูกต้อง ตัวอย่างทั่วไปจะรวมถึงการแปลงเลขทศนิยมเป็นจำนวนเต็ม หรือจำนวนเต็มเป็นสตริง
สารบัญ
ทำความเข้าใจ Type Casting ใน Java
เมื่อกลไกของ typecasting ชัดเจนแล้ว ก็ถึงเวลาเปลี่ยนความสนใจไปที่การแคสต์ประเภทใน Java
Typecasting หรือการแปลงประเภทเป็นกระบวนการกำหนดค่าของประเภทข้อมูลดั้งเดิมให้กับประเภทข้อมูลดั้งเดิมอื่น โปรแกรมเมอร์จำเป็นต้องตรวจสอบความเข้ากันได้ของประเภทข้อมูลที่กำหนดให้กับข้อมูลประเภทอื่นล่วงหน้า Typecasting จะดำเนินการโดยอัตโนมัติหากมีความเข้ากันได้ระหว่างข้อมูลทั้งสองประเภท การแปลงประเภทนี้เรียกว่าการแปลงประเภทอัตโนมัติ ในทางกลับกัน หากไม่มีความเข้ากันได้ระหว่างสองประเภทข้อมูล การแปลงหรือการแคสต์จะเกิดขึ้นอย่างชัดเจน

Typecasting ใน Java ยังเป็นการส่งคลาสหรืออินเตอร์เฟสไปยังคลาสหรืออินเตอร์เฟสอื่น Java รองรับทั้งความหลากหลายและการสืบทอดเนื่องจากเป็นภาษาโปรแกรมเชิงวัตถุ อาจมีบางกรณีที่วัตถุ SubClass ถูกชี้เป็นตัวแปรอ้างอิง SuperClass อย่างไรก็ตาม คอมไพเลอร์ Java จะไม่ทราบเรื่องนี้ ดังนั้นการเรียกวิธีการที่ได้รับการประกาศใน SubClass จึงไม่มีประโยชน์ ในการทำให้เป็นแบบฝึกหัดที่มีประโยชน์ ก่อนอื่นคุณต้องแคสต์ออบเจ็กต์ SubClass นั้นเป็นประเภทที่มีอยู่เดิม นี่เป็นตัวอย่างที่ดีเกี่ยวกับวิธีการทำงานของ type cast ใน Java
อ่าน: ขอบเขตในอนาคตของนักพัฒนาเต็มกอง
การรู้ typecasting นั้นไม่เพียงพอ เพราะการตระหนักรู้เกี่ยวกับกฎ Java ที่ต้องปฏิบัติตามนั้นมีความสำคัญเท่าเทียมกัน กฎข้อหนึ่งกล่าวว่าอินเทอร์เฟซหรือคลาสที่เป็นของลำดับชั้นประเภทเดียวสามารถแปลงหรือแปลงเป็นอีกอันหนึ่งได้ ถ้าวัตถุที่ไม่มีลำดับชั้นชนิดเดียวกันหรือความสัมพันธ์หลักและรองถูกแปลง ข้อผิดพลาดในการคอมไพล์จะแสดงบนหน้าจอของคุณ
มาดูสถานการณ์อื่นที่คุณสามารถเผชิญในฐานะนักพัฒนาเมื่อเลือกวัตถุสองชิ้นที่อยู่ในลำดับชั้นประเภทเดียวกัน แต่ถ้าประเภทของวัตถุที่คุณกำลังแคสต์และประเภทของวัตถุที่คุณกำลังแคสต์ไม่เหมือนกัน คุณจะได้รับ ClassCastException
สิ่งที่น่าแปลกใจที่สุดคือนักพัฒนาและโปรแกรมเมอร์จำนวนมากไม่ทราบถึงความสำคัญของการพิมพ์ดีด Typecasting ให้การเข้าถึงเมธอดและฟิลด์ที่ประกาศคลาสหรือประเภทเป้าหมาย ไม่มีวิธีอื่นในการเข้าถึงสิ่งเหล่านี้

ตอนนี้ ให้เราดูการแปลงหรือแคสต์ประเภทต่าง ๆ ใน Java
การแปลงหรือการหล่อมีสองประเภท ได้แก่ การหล่อแบบดั้งเดิมและการพิมพ์แบบอ้างอิง
ประเภทของการหล่อใน Java
การหล่อแบบเบื้องต้น
ช่วยให้นักพัฒนาสามารถแปลงค่าของ primitive หนึ่งไปสู่อีกอันหนึ่งได้ ค่าชนิดข้อมูลดั้งเดิม 7 ค่า ได้แก่ Boolean, Byte, Char, Short, Int, Long, Float และ Double การหล่อแบบพื้นฐานมีสองประเภทย่อย:
1. การหล่อที่กว้างขึ้นหรือการแปลงโดยนัย:
Widening Casting เกี่ยวข้องกับการคัดเลือกชนิดข้อมูลที่มีค่าต่ำกว่าเป็นชนิดข้อมูลที่มีมูลค่าสูงกว่า (Widening data type) โดยไม่ทำให้ข้อมูลสูญหาย มีความเสี่ยงสูงในความแม่นยำของการแคสต์เมื่อพิจารณาถึงการแปลงที่กว้างขึ้นระหว่างประเภทข้อมูลตัวเลขต่างๆ อาจสูญเสียข้อมูลหรือมูลค่าเล็กน้อยได้
อ่านเพิ่มเติม: แนวคิดและหัวข้อโครงการเต็มกอง
2. การแคสต์แคบลงหรือการแปลงที่ชัดเจน:
ตรงกันข้ามกับการขยายการหล่อ มันเกี่ยวข้องกับการคัดเลือกชนิดข้อมูลที่มีค่าสูงกว่าเป็นชนิดข้อมูลที่มีค่าต่ำกว่า (ชนิดข้อมูลที่แคบกว่า) หากไม่ระมัดระวังอาจทำให้ข้อมูลสูญหายได้
การแปลงโดยนัยไม่ต้องการให้นักพัฒนาป้อนข้อมูลและดำเนินการโดยอัตโนมัติ ในทางกลับกัน การแปลงที่ชัดเจนนั้นดำเนินการโดยนักพัฒนาเพียงคนเดียว

การหล่อแบบอ้างอิง
หากคลาสที่แตกต่างกันสองประเภทเชื่อมโยงกันโดยการสืบทอดและหนึ่งในคลาสเหล่านั้นคือคลาสย่อยของอีกคลาสหนึ่ง คลาสเหล่านี้สามารถผ่านการคัดเลือกได้ สิ่งสำคัญคือต้องตรวจสอบให้แน่ใจว่าการแคสต์นั้นสอดคล้องกับกฎรันไทม์และกฎเวลาคอมไพล์ใน Java การหล่อแบบอ้างอิงแบ่งออกเป็นสองประเภทเพิ่มเติม:
1. อัพแคสต์:
Upcasing เกี่ยวข้องกับการแปลงอ็อบเจ็กต์ SubType เป็นอ็อบเจ็กต์ SuperType Java มีข้อกำหนดสำหรับการกำหนดอ็อบเจ็กต์โดยไม่ต้องเพิ่มคาสต์ที่ชัดเจน คอมไพเลอร์จะรู้ว่ากำลังทำอะไรอยู่ และจะแปลงค่า SubType เป็น SuperType ด้วยวิธีนี้ วัตถุจะถูกนำไปที่ระดับพื้นฐาน นักพัฒนาสามารถเพิ่มนักแสดงที่ชัดเจนโดยไม่ต้องกังวลเกี่ยวกับปัญหาใดๆ
2. ดาวน์คาสติ้ง:
Downcasting เกี่ยวข้องกับการแปลงวัตถุ SuperType เป็นวัตถุประเภทย่อย เป็นการแคสต์ที่ใช้บ่อยที่สุด โดยจะสื่อสารกับคอมไพเลอร์ว่าค่าของอ็อบเจกต์ฐานไม่ใช่ของตัวเอง แต่เป็นของอ็อบเจ็กต์ SuperType
ห่อ
หากต้องการออกจากระบบ การเรียนรู้ Java typecasting เป็นสิ่งจำเป็นสำหรับการเป็นนักพัฒนาหรือโปรแกรมเมอร์ที่ประสบความสำเร็จ จุดประสงค์คือเพื่อกำหนดฟังก์ชันแล้วตรวจสอบให้แน่ใจว่าตัวแปรภายในการสื่อสารทำงานตามฟังก์ชันปลายทาง การรู้และเชี่ยวชาญวิธีการหล่อประเภทต่างๆ จะช่วยให้โปรแกรมเมอร์สามารถนำเสนอฟังก์ชันที่ซับซ้อนที่สุดได้ กล่าวอย่างตรงไปตรงมา เป็นพื้นฐานที่ธุรกิจขนาดใหญ่และแบรนด์ต่างๆ จะต้องปรับปรุงการมีส่วนร่วมของผู้ใช้ปลายทาง
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาแบบเต็มสแต็ก โปรดดูประกาศนียบัตร PG ของ upGrad & IIIT-B ด้านการพัฒนาซอฟต์แวร์แบบครบวงจร ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง โครงการและการมอบหมายมากกว่า 9 รายการ IIIT -B สถานะศิษย์เก่า โครงการหลักที่นำไปปฏิบัติได้จริง และความช่วยเหลือด้านงานกับบริษัทชั้นนำ