[Kotlin]data class/sealed class
data class
どうして書くの?
したがって,コトリンでは,これらのデータのみを処理するクラスを容易に実現するために,「dataclass」という簡単な構文を提供する.
//이 자바코드가 아래 코틀린 한줄로 바꿀 수 있다
public class Person {
String name;
int age;
String gender;
public Person(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
// getter & setter 생략
}
どう書きますか。
data class 클래스이름(var 변수1, var변수1){}
作成者、getter&setter、canonicalメソッド
データ・クラスを使用するには、次の制限を考慮します.
data class Person(var name: String, var age: Int, var gender: String)
サポート
Canonical Methods
copy메소드
디스트럭쳐링(Destructuring)
Canonical Methods?
CanonicalメソッドはAnyに宣言するメソッドです(AnyはJavaのオブジェクトのようにCottinのすべてのオブジェクトの祖先です).したがって,これはコトリンのすべてのインスタンスが持つ方法を意味する.
コトリンのdataclassはすべての基本的な方法を正しく実現した.
すなわち、
val student = Member("jihee", 28)
val student1 = student.copy(name = "gilbog") // 이름만 gilbog로 바꾸고 나이는 student에서 복사
fun main (args:Array<String>) {
val student: simple = simple("김연아", 21)
var (name, age) = student
name="박지성"
println(student.name) //김연아
}
リファレンスhttps://readystory.tistory.com/85
ブログの整理
seald class
ブログの整理
Reference
この問題について([Kotlin]data class/sealed class), 我々は、より多くの情報をここで見つけました https://velog.io/@dabin/Kotlindata-classテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol