JavaRush /Java Blog /Random-ID /Perluasan/penyempitan jenis referensi: sumber berbeda - p...
Core
Level 35
Екатеринбург

Perluasan/penyempitan jenis referensi: sumber berbeda - penafsiran berbeda

Dipublikasikan di grup Random-ID
Selamat siang. Ada dugaan kesalahan pada perkuliahan JavaRush. Misalkan ada kelas Induk dan kelas Anak yang diwarisi darinya. Misalkan ada baris kode berikut: Parent parent = new Child; Child child = (Child) parent; Sesuai dengan kuliah mata kuliah level 12, pelajaran 1 (1. Polimorfisme dan overriding), paragraf 5) (Jenis casting. ) baris pertama penyempitan, dan baris kedua perluasan (dalam kuliah , Sapi adalah induknya, Paus adalah pewarisnya) Namun hal tersebut tidak benar. Semuanya justru sebaliknya. Arti dari apa yang dijelaskan jelas: pada baris pertama kita membuat objek bertipe Child dan membatasi penggunaannya hanya pada metode yang dijelaskan di kelas Parent. Namun ini merupakan perluasan dan oleh karena itu pengurangan tersebut terjadi secara implisit. Dan di materi tambahan level 10 dikatakan: Teks Anda untuk ditautkan...
Ekstensi berarti berpindah dari tipe yang lebih spesifik ke tipe yang kurang spesifik, yaitu. transisi dari anak-anak ke orang tua. Dalam contoh kita, konversi dari pewaris mana pun (Anak, Anak2) menjadi orang tua (Orang Tua) merupakan perpanjangan, transisi ke tipe yang lebih umum. Mirip dengan tipe primitif, transisi ini dilakukan oleh JVM itu sendiri jika diperlukan dan tidak terlihat oleh pengembang, artinya, tidak memerlukan upaya tambahan apa pun, karena selalu berhasil: Anda selalu dapat mengakses objek yang dihasilkan dari suatu pewaris menurut jenis orang tuanya. Induk p1=Anak baru(); Induk p2=Anak2 baru(); Di kedua baris, variabel bertipe Induk diberi nilai dengan tipe berbeda, yang berarti terjadi konversi. Karena ini merupakan ekstensi, maka dilakukan secara otomatis dan selalu berhasil.
Baris kedua dari contoh saya, sebaliknya, menurut tambahan yang sama. bahan adalah penyempitan yang memerlukan indikasi eksplisit jenisnya dalam tanda kurung. Dan di ceramahnya diartikan sebagai perpanjangan, mungkin saja salah, mohon penjelasannya. Saya tidak ingin memiliki pandangan ganda yang bertentangan tentang tipe casting. Di bawah ini penggalan kuliahnya, penggalan kuliah masih ada dugaan kesalahan pada kuliah (sebelumnya), di mana saya harus menulis tentang ini? Saya tidak menemukannya di FAQ.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION