useXxx()
Javaメソッド名の前にvsを付けるための一般的なガイドラインはありsetXxx()
ますか?
setDelimiter()
Scannerクラスのメソッドを呼び出そうとしましたが、名前が付けられていることがわかりましたuseDelimiter()
。JavaDocは、このメソッドを「このスキャナーの区切りパターンを設定します...」と説明しています。
では、なぜuseXxx()
ではなくsetXxx()
?
useXxx()
Javaメソッド名の前にvsを付けるための一般的なガイドラインはありsetXxx()
ますか?
setDelimiter()
Scannerクラスのメソッドを呼び出そうとしましたが、名前が付けられていることがわかりましたuseDelimiter()
。JavaDocは、このメソッドを「このスキャナーの区切りパターンを設定します...」と説明しています。
では、なぜuseXxx()
ではなくsetXxx()
?
メソッドに名前を付ける、またははJavaBeansの単なる規則.setXxx()
です。クラスをBeanとして明示的に使用しない場合(そして確かにBeanとして使用しない場合)、メソッドに好きな名前を付けることができます。.getXxx()
Scanner
また、この.useDelimiter()
メソッドはを返しますがthis
、JavaBeansセッターはを返しvoid
ます。このメソッドがBeanの規則に従っている場合、次のように書くことはできません。
Scanner scanner = new Scanner(System.in).useDelimiter(xxx);
クラスをBeanにすることを意図している場合を除いて、メソッド名の唯一の実際の規則は、メソッド名が自明であるということです。
これは標準のセッター方式ではありません。delimPatternを設定し、Scannerオブジェクトを返します
public Scanner useDelimiter(Pattern pattern) {
delimPattern = pattern;
return this;
}
「setXXX()」および「getXXX()」は「従来型」以上のものです。名前は、JavaBeansによって「getter」および「setter」メソッドとしても認識されます。クラスがたまたまJavaBeanである場合。クラス「スキャナー」はそうではありません:)
そうでなければ、それはただの問題の好みです。
それは間違いなく矛盾しています。
setX
通常、アクセサーは/ getX
(またはisX
ブール値)の形式であると予想されます。これはJavaBeans 規則の一部です。多くのフレームワークとツールは、このように動作するように明示的にコーディングされており、無視すると相互運用性が失われます。
ただし、間違っているわけではないことに注意してください。しかし、それでも相互運用性のレベルを維持しようとします。
Java setXxx() メソッドでは、「set」を使用して値を設定します。たとえば、マネージャーの ID を設定します。
public void setManagerID()
{
String managerID = null;
managerID = JOptionPane.showInputDialog(null,"Input an ID:");
}