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 สถานะศิษย์เก่า โครงการหลักที่นำไปปฏิบัติได้จริง และความช่วยเหลือด้านงานกับบริษัทชั้นนำ

เตรียมความพร้อมสู่อาชีพแห่งอนาคต

อัปเกรดและ PG DIPLOMA ของ IIIT-BANGALORE ในการพัฒนาซอฟต์แวร์สแต็คเต็มรูปแบบ
ลงทะเบียนตอนนี้ที่ UPGRAD