Rumah > Soal Jawab > teks badan
1. Memandangkan warisan diluluskan melalui rujukan, mengapakah subkelas mengatasi sifat dan kaedah kelas induk tidak mengubah sifat dan kaedah kelas induk. Apakah maksud pemindahan rujukan yang diwarisi? Dalam keadaan apakah kaedah ahli dan sifat ahli kelas induk akan diubah?
2. Memandangkan sifat statik, kaedah dan pemalar berada dalam kawasan statik, mengapakah sifat dan pembolehubah asal masih tidak ditimpa apabila ditulis semula dalam subkelas?
3 Soalan yang baru diedit - tentang kawasan statik - semua orang tahu bahawa hanya terdapat pembolehubah ahli dalam objek objek, hanya alamat kaedah ahli dalam timbunan, kaedah ahli dan kelas berada dalam kawasan kod , dan ahli statik Kaedah berbeza daripada kaedah ahli statik berada dalam kawasan statik Pembolehubah ahli obj->statik, manakala kaedah ahli statik boleh dipanggil. Mengapa ini? Bolehkah sesiapa memberitahu saya tentang hubungan antara kawasan kod, kawasan statik dan objek? ! ! ! !
滿天的星座2017-05-16 13:13:34
Tiada satu pun jawapan di atas tepat sasaran. Baidu sendiri: pengikatan lewat dan pengikatan awal; juga lihat pengetahuan tij tentang pewarisan dan polimorfisme
漂亮男人2017-05-16 13:13:34
Anda boleh cuba memahaminya dengan cara ini, warisan diluluskan melalui rujukan, subkelas ialah kelas induk yang diwarisi, dan sifat serta kaedah kelas induk, maka semua sifat dan kaedah kelas induk mesti ada dalam ingatan.
Walau bagaimanapun, apabila anda mengatasi kaedah kelas induk dalam subkelas, ia sebenarnya sama dengan mengalihkan penuding daripada kaedah a() kelas induk kepada a() subkelas yang ditindih Sebenarnya, a(). ) kelas induk masih wujud, bukan Ia sebenarnya akan menggantikan kaedah a() kelas induk daripada memori.
Pelulusan rujukan diwarisi: bermakna terdapat hanya satu salinan kod kelas induk dalam memori Contohnya, alamat memori ialah 0x000010 Apabila subkelas mewarisi, kod kelas induk dibaca terus dari alamat memori ini. Daripada menyalin semula kod ke dalam memori.
仅有的幸福2017-05-16 13:13:34
Anda boleh melihat mekanisme pengikatan dinamik Subkelas dan kelas induk akan membentuk dua jadual kaedah berasingan dan jenis data masing-masing dalam kawasan kaedah. . . Tidak akan menutup
漂亮男人2017-05-16 13:13:34
Pemahaman peribadi tentang warisan:
Kaedah yang kelas induk sudah ada, subkelas yang mewarisi kelas induk mempunyainya secara lalai (kaedah dan atribut). Walau bagaimanapun, subkelas boleh memilih untuk mengatasi kaedah kelas induk Dalam kes ini, apabila subkelas memanggil kaedah yang ditindih ini, ia akan memberi keutamaan untuk memanggil kaedah yang diubah suai oleh subkelas Jika subkelas tidak mengubah suai kaedah, kaedah kelas induk akan dipanggil secara lalai.
Mengenai apa yang dikatakan oleh poster tentang pewarisan sebagai rujukan, saya secara peribadi berpendapat bahawa apabila mewarisi, kaedah dan atribut ini menghala ke kelas induk secara lalai Namun, apabila benar-benar memanggil, ia akan mengesan sama ada subkelas telah mengatasi kaedah atau atribut daripada kelas induk Jika ya, panggilan sebenar akan menunjuk kepada kaedah dan sifat yang ditindih oleh subkelas Jika tidak, ia akan tetap menunjuk kepada kaedah dan sifat kelas induk.
Pendapat merendah diri peribadi...
迷茫2017-05-16 13:13:34
Subkelas ialah kelas induk yang diwarisi Subkelas boleh mewarisi atribut dan kaedah kelas induk, tetapi ia tidak boleh mengubah kelas induk Subkelas hanya mempunyai satu kelas induk, tetapi kelas induk boleh mempunyai banyak subkelas menukar induk Bukankah atribut dan kaedah kelas itu sendiri perlu mewarisi kaedah dan atribut baharu sekali lagi? Tiada penyelesaian. . .
高洛峰2017-05-16 13:13:34
Subkelas hanya boleh mengatasi kelas induk Kod tersebut mula-mula melaksanakan kaedah dalam subkelas dan tidak lagi meneruskan kaedah ganti kelas induk.
PHPz2017-05-16 13:13:34
Warisan dalam bahasa PHP hanya boleh diwarisi dari tinggi ke rendah dan tidak boleh ditimpa secara terbalik
给我你的怀抱2017-05-16 13:13:34
Saya mewarisi kaedah kelas induk, yang setara dengan menulis semua kaedah kelas induk ke dalam kelas saya Bagi kaedah yang bercanggah dengan kaedah sedia ada saya, saya tidak menulisnya. Maksudnya, jika kelas induk memilikinya dan tidak memilikinya, maka ia akan diwarisi Jika kelas induk memilikinya, anda juga memilikinya, jadi ia akan berdasarkan kepada anda.