jQuery を使用するとき、次のようなメソッド チェーンをよく目にしたり使用したりします。
次のようにコードをコピーします。
$("#p1").css("色","赤").slideUp(2000).slideDown(2000);
このコードの意味は、セレクターが ID p1 の HTML タグを選択し、色が赤になり、上にスライドし、次に下にスライドすることです。
もちろん、これらのメソッドを分けて書くこともできますが、分けないほうが可読性が良いだけでなく、コード量も減るので、どうしてでしょうか?
このように関数を呼び出す方法を jQuery では「チェイン」と呼びますが、その原理も非常にシンプルで、チェインできるメソッドは呼び出された後にオブジェクトそのものを返します。
以下は Java コードを使用したデモンストレーションです。
チェーンなし:
Persion.java:
次のようにコードをコピーします。
パブリック クラス パーション {
プライベート int ID;
プライベート文字列名。
プライベート文字列電話番号;
プライベート文字列アドレス。
パブリック PERSION() {
}
public void setId(int id) {
this.id = ID;
}
public void setName(文字列名) {
this.name = 名前;
}
public void setPhoneNumber(String PhoneNumber) {
this.phoneNumber = 電話番号;
}
public void setAddress(文字列アドレス) {
this.address = 住所;
}
public void printId() {
System.out.println(this.id);
}
public void printName() {
System.out.println(this.name);
}
public void printPhoneNumber() {
System.out.println(this.phoneNumber);
}
public void printAddress() {
System.out.println(this.address);
}
}
テスト.java:
次のようにコードをコピーします。
パブリック クラス テスト {
public static void main(String[] args) {
パージョン persion1 = 新しい Persion();
persion1.setId(3);
persion1.setName("ジョン");
persion1.setPhoneNumber("1111111");
person1.setAddress("米国");
session1.printId();
session1.printName();
persion1.printPhoneNumber();
person1.printAddress();
}
}
チェーニングの使用:
Persion.java:
次のようにコードをコピーします。
パブリック クラス パーション {
プライベート int ID;
プライベート文字列名。
プライベート文字列電話番号;
プライベート文字列アドレス。
パブリック PERSION() {
}
public PERSION setId(int id) {
this.id = ID;
これを返します。
}
public PERSION setName(文字列名) {
this.name = 名前;
これを返します。
}
public Persion setPhoneNumber(String PhoneNumber) {
this.phoneNumber = 電話番号;
これを返します。
}
public Persion setAddress(String address) {
this.address = 住所;
これを返します。
}
public PERSION printId() {
System.out.println(this.id);
これを返します。
}
public PERSION printName() {
System.out.println(this.name);
これを返します。
}
public PERSION printPhoneNumber() {
System.out.println(this.phoneNumber);
これを返します。
}
public PERSION printAddress() {
System.out.println(this.address);
これを返します。
}
}
テスト.java:
次のようにコードをコピーします。
パブリック クラス テスト {
public static void main(String[] args) {
パージョン persion1 = 新しい Persion();
person1.setId(3).setName("ジョン")
.setPhoneNumber("1111111").setAddress("US");
session1.printId()
.printName()
.printPhoneNumber()
.printAddress();
}
}
なんとも不思議な感じですね~笑!