Case Classes क्या हैं
एक case class एक class है जिसमें मुफ़्त में उपयोगी extras जुड़े होते हैं, जैसे कोई toy जो batteries और manual के साथ आता है। यह अच्छे से print होता है, contents से compare करता है, और बिना new के बनाना आसान है।
In this page:
Syntax
case class ClassName(field1: Type, field2: Type)
val instance = ClassName(value1, value2)
val copy = instance.copy(field1 = new_value)
Case Classes
एक case class अपने आप उपयोगी boilerplate generate करता है: apply वाला एक companion object, value-based equals/hashCode, एक readable toString, और pattern matching के लिए support।
Case class fields default रूप से val होते हैं, जिससे instances immutable बन जाते हैं जब तक आप explicitly किसी field को var चिह्नित न करें। Case classes simple data-holding types को model करने का idiomatic Scala तरीका हैं।
Note:
Case classes को मुफ़्त में pattern-matching support और value equality मिलती है, जिससे वे Scala में simple data models के लिए default choice बन जाती हैं।
उदाहरण: Case Classes
case class Point(x: Int, y: Int)
object Main extends App {
val p1 = Point(1, 2)
val p2 = Point(1, 2)
println(p1)
println(p1 == p2) // value equality, not reference equality
val p3 = p1.copy(y = 99)
println(p3)
}
Login to try C/C++/Java/PHP code in the editor
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the
view already swaps in the hi_ translation fields (or blanks these
out if untranslated), so this renders correctly for both languages
without a lang_code check here. #}
आम गलतियां
- दो case class instances को
eqसे compare करना और equality की उम्मीद करना, जबकि==values compare करता है लेकिनeqreferences compare करता है। p1.x = 5जैसे किसी field को बदलने की कोशिश करना, जबकि case class parameters default रूप सेvalहैं।- एक case class से दूसरी case class को inherit करना, जिसकी अनुमति नहीं है और इसे हतोत्साहित किया जाता है।
🔒
Chapter Quiz — Complete all 7 topics to unlock
0/7 topics done
Complete these topics first: