Ciri -ciri Pewarisan, Jenis, Contoh Pemrograman

Ciri -ciri Pewarisan, Jenis, Contoh Pemrograman

The warisan dalam pengaturcaraan Berorientasikan objek Ini adalah cara mengatur objek dalam hierarki dari yang paling umum hingga yang paling spesifik. Ini adalah alat yang digunakan untuk memperluaskan kelas di kelas lain, mengekalkan pelaksanaan analog.

Dalam kebanyakan bahasa berorientasikan kelas berdasarkan objek berasaskan kelas, objek yang dibuat melalui warisan, yang dipanggil objek anak, memperoleh semua sifat dan tingkah laku objek induk.

Demonstrasi warisan yang mudah dalam orientasi objek. Sumber: Pluke / CC0 Creative Commons CC0 1.0 domain awam sejagat

Oleh itu, ia adalah kualiti yang mewakili hubungan antara kelas yang berbeza. Warisan membolehkan satu kelas mempunyai tingkah laku yang sama seperti kelas lain dan mengembangkan atau menyesuaikan tingkah laku itu untuk memberikan tindakan khas untuk keperluan khusus.

Warisan dapat membantu mewakili objek yang mempunyai beberapa perbezaan dan beberapa persamaan dengan cara mereka bekerja. Semua fungsi yang objek mempunyai bersama boleh dimasukkan ke dalam kelas asas, dan kemudian menentukan satu atau lebih subkelas dengan fungsi peribadi mereka sendiri.

[TOC]

Ciri -ciri warisan

Warisan adalah salah satu ciri utama pengaturcaraan berorientasikan objek, yang berfungsi untuk menentukan kelas baru dari kelas yang ada.

Iaitu, kelas baru kelas asas sedia ada boleh diperoleh, menambah ciri -ciri baru. Anda tidak perlu menulis dari awal. Oleh itu, warisan menyediakan cara untuk menggunakan semula kod sedia ada dengan mudah.

Sekiranya anda sudah mempunyai kelas yang melakukan hampir semua yang anda mahukan, anda boleh membuat subkelas di mana bahagian tingkah laku anda dibatalkan sebahagiannya, atau mungkin beberapa fungsi baru ditambah.

Kelas yang diperolehi mewarisi semua kaedah kelas asas, kecuali yang berikut:

Boleh melayani anda: komputer analog: ciri, komponen, jenis

- Pembina, Pembangun dan Pembina Kelas Salin.

- Pengendali kelas asas yang terlalu banyak.

- Fungsi mesra kelas asas.

Hierarki

Sebagai pokok keluarga, warisan berfungsi untuk membentuk hierarki kelas. Penting untuk diperhatikan bahawa atribut yang ditentukan untuk kelas asas akan hadir secara automatik di kelas yang diperoleh. Di samping itu, kaedah untuk kelas asas akan berfungsi untuk derivatif.

Dikatakan bahawa kelas akan menjadi subkelas kelas yang mewarisi. Sebaliknya, kelas ini akan menjadi superclass anda. Ia boleh merujuk kepada kelas yang paling generik sebagai kelas asas, kerana ia berada di dasar hierarki.

Polimorfisme

Warisan sangat popular dalam beberapa bahasa dengan jenis statik, kerana ia membolehkan pengaturcara untuk mengelakkan beberapa sekatan jenis statik.

Objek yang diwarisi dari objek lain dianggap sebagai subtipe objek itu. Contohnya boleh menjadi objek "pengajar" dan "pelajar", yang masing -masing mewarisi "orang".

Sekiranya pengajar dan pelajar adalah orang yang sama, anda boleh menulis fungsi yang menerima jenis orang sebagai parameter dan yang berfungsi dalam objek pengajar dan pelajar, kerana kedua -duanya adalah pewaris orang.

Jenis warisan

Warisan unik

Apabila kelas yang diperoleh mewarisi sifat dan tingkah laku satu kelas. Iaitu, satu kelas meluas ke kelas tunggal yang lain.

Warisan bertingkat

Ia merujuk kepada alat di mana anda boleh mewarisi dari kelas yang diperolehi, menjadikan kelas yang diperolehi ini kelas asas untuk kelas baru. Iaitu, hasilnya apabila kelas yang diperoleh dibuat dari kelas yang diperoleh.

Boleh melayani anda: seni bina von neumann: asal, model, bagaimana ia berfungsi

Warisan hierarki

Dalam warisan ini, banyak subkelas mewarisi dari satu kelas. Iaitu, ia berlaku apabila satu kelas asas diwarisi oleh lebih daripada satu kelas yang diperoleh.

Warisan Hibrid

Ia adalah warisan yang dihasilkan apabila mana -mana tiga warisan sebelumnya (unik, hierarki dan bertingkat) digabungkan).

Warisan berganda

Sepadan dengan angka warisan ketika kelas mewarisi lebih dari satu superclass. Kesulitan yang ada dengan warisan jenis ini adalah bahawa kelas yang diperoleh harus memproses kebergantungannya dengan dua kelas asas.

Sebaliknya, jenis warisan ini membolehkan pengaturcara mendirikan kelas yang menggabungkan aspek pelbagai kelas dan hierarki yang sepadan.

Jenis warisan dari kelas asas

Warisan awam

Apabila kelas berasal dari kelas asas awam, ahli awam kelas asas menjadi ahli awam kelas yang diperolehi dan ahli -ahli yang dilindungi dari kelas asas menjadi ahli yang dilindungi dari kelas yang diperoleh.

Ahli swasta superclass tidak akan berpatutan secara langsung dari kelas yang diperoleh, tetapi anda boleh mendapat akses kepada mereka melalui panggilan yang dibuat kepada ahli awam dan dilindungi dari kelas asas.

Warisan yang dilindungi

Apabila kelas dicipta yang mewarisi dari superclass yang dilindungi, kedua -dua ahli awam dan dilindungi dari superclass ini akan menjadi ahli dilindungi kelas yang diperolehi.

Warisan peribadi

Apabila subclass dicipta dari superclass swasta, ahli yang awam dan dilindungi dari superclass ini akan menjadi ahli swasta subkelas.

Contoh

Contoh dalam Python

Untuk menunjukkan bagaimana prinsip warisan berfungsi, robot atau kelas robot yang lebih baik akan diambil dalam bahasa pengaturcaraan python. Untuk ini, kelas yang dipanggil Robotmedic akan ditentukan (Pakar Perubatan), yang berasal dari superclass robot.

Boleh melayani anda: Tanaman Perindustrian Peru

Sekiranya kod kelas robotmed diperhatikan, dapat dilihat bahawa tiada atribut atau kaedah telah ditakrifkan dalam kelas ini.

Oleh kerana kelas robot adalah subkelas robot, mewarisi kaedah __init__ dan Say_hi dalam kes ini. Mewarisi kaedah ini bermaksud bahawa mereka boleh digunakan seolah -olah mereka telah ditakrifkan dalam kelas robotmed.

Apabila contoh robotik dibuat, fungsi __init__ juga akan membuat atribut nama. Kaedah Say_HI boleh digunakan untuk objek "Y" robotmedic, seperti yang dapat dilihat dari hasil kod sebelumnya.

Contoh dalam c++

Kelas boleh mewarisi lebih daripada satu kelas, yang bermaksud bahawa ia boleh mewarisi data dan fungsi beberapa superclass. Untuk menentukan kelas yang diperolehi, senarai derivasi kelas digunakan untuk menentukan kelas asas.

Senarai rujukan kelas dalam C ++ nama satu atau lebih kelas asas dan mempunyai cara berikut: Kelas Derced-Class: Akses-usecifier Base-Class, di mana Akses-usecifier adalah awam, Dilindungi Sama ada Persendirian, dan Base-Class Ia adalah nama kelas yang telah ditetapkan sebelumnya. Jika tidak digunakan Akses-usecifier, Diambil Persendirian lalai.

Superclass "bentuk" dan kelas "segi empat tepat" kelasnya boleh dipertimbangkan seperti berikut:

Apabila kod terdahulu disusun dan dilaksanakan, hasil berikut berlaku: "Jumlah Kawasan: 35".

Rujukan

  1. Dave Braunschweig (2020). Warisan dan polimorfisme. Komuniti Abus. Diambil dari: tekan.Sebuah bas.Komuniti.
  2. Kursus Python (2020). Warisan. Diambil dari: kursus python.EU.
  3. Mentor Data (2020). R warisan. Diambil dari: Datamentor.Io.
  4. Tutorial Point (2020). C ++ warisan. Diambil dari: TutorialSpoint.com.
  5. Maklumat bersih (2020). Pelbagai jenis warisan. Diambil dari: maklumat bersih.com.