私はいくつかのプログラミング言語を知っています。それらのほとんどは、lua、perl、JS、rubyなどのスクリプト言語です。
しかし最近、私は静かに動作するJavaでプログラミングを始めました。そこで、JSにある機能を考えていました。コンストラクターのプロトタイプ、つまり。私の質問が実際に何であるかをさらに理解するために、JSで例を示します。犬のアプリケーションを作成したいとします。
function dog (){
this.property1 = value;
this.propertr2 = value2;
this.propertyN = valueN;
//etc.
}
//now, I will create several instances of the constructor in JS
var snoopy = new dog();
var buddy = new dog();
そして、JSについて私が知っている素晴らしい部分は、次のようなプロトタイプキーワードを使用して、コンストラクターとコンストラクターのすべてのインスタンス(JSで呼び出される)の情報を動的に変更できることです。
dog.prototype.bark = function () {
console.log("Woof!");
};
これは、コンストラクターに関する情報を変更して、コンストラクターで作成されるすべての犬が吠える方法を知るようにするだけでなく、コンストラクターのすべてのインスタンスがプロトタイプ挿入の情報を取得するように変更します。この場合、犬に吠える方法を教えます。これは次の例で見ることができます:
var someOtherDog = new dog ();
someOtherDog.bark(); //output will be: Woof!
snoopy.bark(); //output will also be: Woof!
buddy.bark(); //you guessed it! it will also be: Woof!
したがって、JSのこのプロトタイプキーワードを使用して、コンストラクターとそのインスタンスを操作できます。さて、私の質問は:
Javaでクラスとそのインスタンスを操作するにはどうすればよいですか?そしてそれも可能ですか?そしてそうならば; Javaでそのようなことをするために私は何をすべきですか?
class dog
{
private String hairColor;
public dog ()
{
hairColor = "Brown";
}
public static void main (String args[])
{
dog snoopy = new dog ();
dog buddy = new dog ();
//now, how do I manipulate the class like I did in JS?
}
}