scalaは二scalaの中でpojoの定義を勉強します。

1964 ワード

ポイント:
(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メソッドをバックグラウンドで使用します。