scalaは二scalaの中でpojoの定義を勉強します。
1964 ワード
ポイント:
(1)関数式プログラミングの提案は、オブジェクトの状態が変化すると新しいオブジェクトを作成し、既存のオブジェクトの内部状態を変更するのではなく、同時に安全になるということです。
(2)scalaではすべて対象です。私たちが見ている+,-,×,%すべて対象です
Javaクラスの定義:
(1)関数式プログラミングの提案は、オブジェクトの状態が変化すると新しいオブジェクトを作成し、既存のオブジェクトの内部状態を変更するのではなく、同時に安全になるということです。
(2)scalaではすべて対象です。私たちが見ている+,-,×,%すべて対象です
Javaクラスの定義:
public class JavaPerson
{
public JavaPerson(String firstName, String lastName, int age)
{
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}
public String getFirstName()
{
return this.firstName;
}
public void setFirstName(String value)
{
this.firstName = value;
}
public String getLastName()
{
return this.lastName;
}
public void setLastName(String value)
{
this.lastName = value;
}
public int getAge()
{
return this.age;
}
public void setAge(int value)
{
this.age = value;
}
public String toString()
{
return "[Person: firstName" + firstName + " lastName:" + lastName +
" age:" + age + " ]";
}
private String firstName;
private String lastName;
private int age;
}
scalaにおけるクラスの定義:class Person(var firstName:String, var lastName:String, var age:Int)
{
def getFirstName = firstName
def getLastName = lastName
def getAge = age
def setFirstName(value:String):Unit = firstName = value
def setLastName(value:String) = lastName = value
def setAge(value:Int) = age = value
override def toString =
"[Person firstName:" + firstName + " lastName:" + lastName +
" age:" + age + " ]"
}
構造関数パラメータが導入されています。 var
キーワード。簡単に言えば、 var
コンパイラにこの値は可変だと教えてください。したがって、Scaraはaccessorを同時に生成する( String firstName(void)
)とmuttor(void firstName_$eq(String)
を選択します。そして、簡単に作成できます。 setFoo
プロパティmuttorメソッドは、生成されたmuttorメソッドをバックグラウンドで使用します。