มารู้จักกับ Kotlin sealed class กันเถอะ

(YO)Yothin
te<h @TDG
Published in
2 min readSep 24, 2019
https://www.pinterest.com

ก่อนอื่นเลยขออธิบายก่อนว่าช่วงที่ผมเปลี่ยนจาก JAVA มาเขียน Kotlin แล้วได้มาเจอกับเจ้า sealed class นี้ ผมก็ งง ว่ามันคืออะไร มันไว้ใช้ทำอะไร ผมเลยศึกษาและลองได้ใช้ดูแล้วจึงอยากเอามาแชร์ให้เพื่อนๆได้รู้จักเจ้า sealed class กันครับ ไปกันเลยยย…..

เจ้า Sealed class extension มาจาก enum class จึงมีความคล้าย enum class โดยผมจะนำมาใช้กับ พวก data ที่มีหลายประเภทแล้วอยู่ใน RecyclerView เดียวกัน เช่น เมื่อมีข้อมูลสองประเภท เจ้า Sealed class จะเป็น class ตัวกลาง ที่ทำให้ ข้อมูลทั้งสองมารวมกัน ไปลุยกันเลยย……..

อันนี้เป็นตัวอย่าง ของ Sealed class กับ Enum class

เราจะมาลองใช้เจ้า sealed class กันด้วย RecyclerView ที่มี 3 type

data model ที่ใช้ จะมี 3 type โดยทั้ง 3 type extends MultipleTypeModal

พอได้ data มา ก็นำ data Parsing เข้าตาม type ต่างๆ แล้วส่งให้ RecyclerView แล้วให้เจ้า RecyclerView เป็นตัวแยก type แล้วจะออกมาประมาณนี้

ที่นี้ ก็จะให้เจ้า RecyclerView แยกประเภทของ View ต่างๆ แล้วจะออกมาเป็นประมาณนี้ครับ

จริงๆแล้ว เจ้า Sealed class นำไปทำได้หลายอย่างมากและ มันช่วยให้ Code ของเราสั้นลงเยอะมากๆอย่างเช่น Blog นี้

“สุดท้ายนี้ก็อยากจะบอกว่า นี่เป็น Blog แรกของผมครับแฮะๆ ผิดพลาดประการใดติชมได้เลยครับผม”

Reference

--

--