Setiap fungsi mempunyai atribut prototype yang disebut prototype. Setiap objek juga memiliki prototipe, yang dapat diakses melalui __proto__ di Firefox/Safari/Chrome/Opera. Tidak ada antarmuka relevan yang disediakan di IE6/7/8.
Copy kode kodenya sebagai berikut:
fungsi Orang(){
ini.metode1 = fungsi(){}
}
Orang.prototipe.metode2 = fungsi(){}
fungsi Manusia(){}
Man.prototipe = Orang baru();
Man.prototipe.m1 = fungsi(){}
Man.prototipe.m2 = fungsi(){}
var m = Pria baru();
untuk(var a di m.__proto__){
peringatan(a);
}
Kelas induk Person dan subkelas Man telah ditentukan. baru objek Man dan cetak semua properti.
ECMAScript V5 menambahkan metode getPrototypeOf statis ke Objek (diimplementasikan oleh Firefox/Chrome) untuk mendapatkan prototipe objek. Ini dapat digunakan untuk meniru super Java.
Copy kode kodenya sebagai berikut:
fungsi Orang(){
this.metode1 = fungsi(){peringatan(1)}
}
Orang.prototipe.metode2 = function(){alert(2);}
fungsi Manusia(){
ini.m1 = fungsi(){
Objek.getPrototypeOf(ini).metode1();
}
}
Man.prototype = Orang baru();//Pewarisan prototipe
Man.prototipe.m2 = fungsi(){
Objek.getPrototypeOf(ini).metode2();
}
var man = Pria baru();
man.m1();
man.m2();
Metode m1 yang tergantung pada ini di subkelas Man memanggil metode1 yang tergantung pada ini di kelas induk Person, dan metode m2 yang tergantung pada prototipe memanggil metode2 pada prototipe kelas induk.
Terlihat dari penjelasan di atas bahwa prototipe objek tidak hanya menyertakan atribut-atribut pada prototipe konstruktornya, tetapi juga menyertakan atribut-atribut ini pada konstruktornya. Tentu saja, karena alasan konteks dalam JavaScript, this di kelas induk tidak dapat dikonversi secara otomatis di subkelas, dan diperlukan beberapa keterampilan untuk menyelesaikannya.
Ini adalah cara kerjanya di Jawa
Copy kode kodenya sebagai berikut:
paket bao1;
kelas Orang {
nama String pribadi;
Orang(Nama string) {
ini.nama = nama;
}
metode kekosongan publik1() {
System.out.println(nama ini);
}
}
class Man memperluas Person{
Laki-laki(Nama string) {
super(nama);
}
kekosongan publik m1() {
super.metode1();
}
}
Tes kelas publik {
public static void main(String[] args) {
Pria man1 = Pria baru("Jack");
man1.m1();
}
}