cari

Rumah  >  Soal Jawab  >  teks badan

java实现继承时,为什么要重写父类方法而不是重新再写一个方法。

如题,最近看java基础时,看到了关于继承的重写和重载部分,方法的重载可以实现代码的多态,但是重写我就不是很理解为什么要这么写,希望有心人帮忙解释下。
小白这里先谢过了。

大家讲道理大家讲道理2783 hari yang lalu849

membalas semua(4)saya akan balas

  • 阿神

    阿神2017-04-18 10:18:05

    Jika anda menulis semula, anda juga boleh mencapai kepelbagaian kod.

    Selepas subkelas mewarisi kelas induk, ia tidak perlu menulis semula kaedah kelas induk, yang menjimatkan jumlah kod.

    Jika keadaan penggunaan berubah dan kaedah kelas induk tidak dapat memenuhi keperluan penggunaan, maka anda perlu menulis semula kaedah dan menulis ganti kaedah kelas induk.

    Menulis semula boleh berfungsi dengan banyak corak di Jawa.

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 10:18:05

    Anda salah faham Menulis semula adalah kunci untuk mencapai polimorfisme hanya menambah beberapa parameter dan menggunakan semula nama kaedah. Mengenai mengapa menulis semula adalah kunci untuk mencapai polimorfisme, ia adalah kerana berorientasikan objek menggalakkan pengaturcaraan berorientasikan antara muka, atau pengaturcaraan berorientasikan abstraksi. Contohnya:

    Kelas induk buah mempunyai kaedah printName:

    public class Fruit {
        public void printName() {
            System.out.println("Fruit");
        }
    }

    Kedua-dua epal dan oren boleh menjadi subkelas Buah, tetapi anda boleh mengatasi kaedah printName semasa pelaksanaan untuk mencapai output nama yang berbeza.

    balas
    0
  • 怪我咯

    怪我咯2017-04-18 10:18:05

    Salah satu faedah harta pusaka ialah mengurangkan jumlah kod Tidak perlu menulis penyataan yang sama dalam setiap kelas warisan secara langsung adalah seperti hubungan antara bapa dan anak lelakinya daripada bapa, tetapi anak lelaki juga boleh berkembang sendiri.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 10:18:05

    Tulis semula kaedah kelas induk dan tentukan kelas khas dengan templat semuanya kelihatan sama di luar, tetapi mereka berbeza di bahagian dalam Ini adalah kelebihan pengaturcaraan berorientasikan antara muka

    balas
    0
  • Batalbalas