Diferència clau: herència múltiple vs multinivell
La Programació Orientada a Objectes (OOP) és un paradigma per dissenyar un programa utilitzant classes i mètodes. Els escenaris del món real es poden assignar a objectes. Per tant, és fàcil crear solucions de programari. Una classe és un pla per construir un objecte. Conté propietats i mètodes. Per exemple, abans de crear un objecte d'estudiant, hi hauria d'haver un estudiant de classe amb propietats i mètodes. Un estudiant pot tenir propietats com ara l'identificador, el nom i mètodes com ara llegir, escriure, estudiar. Els mètodes descriuen el comportament mentre que les propietats són els atributs. Després de crear la classe, és possible crear objectes utilitzant-los. La creació d'objectes també es coneix com a instanciació d'objectes. L'objecte no existeix de manera aïllada. Es comuniquen amb altres objectes i les dades es transmeten dins dels objectes. Un dels pilars de la POO és l'herència. L'objectiu de l'herència és augmentar la reutilització del codi. Crea una nova classe de propietats i mètodes de la classe ja existent. La classe existent es coneix com a classe base i la nova classe s'anomena classe derivada. L'herència múltiple i l'herència multinivell són tipus d'herència. Aquest article parla de la diferència entre ells. La diferència clau entre l'herència múltiple i l'herència multinivell és que l'herència múltiple és quan una classe hereta de moltes classes base, mentre que l'herència multinivell és quan una classe hereta d'una classe derivada fent que aquesta classe sigui una classe base per a una nova classe.
Què és l'herència múltiple?
Herència múltiple és quan una classe hereta més d'una classe base.
Figura 01: Herència múltiple
A B i C són classes. A i B són classes base i C és la classe derivada. La classe C ha de gestionar la dependència d'ambdues classes base A i B. Les herències múltiples no s'utilitzen àmpliament en projectes de programari. Fa que el sistema sigui més complex perquè una classe hereta moltes classes.
Per exemple, suposem que les classes A i B tenen un mètode amb el mateix nom que és la suma() i la classe C deriva les dues classes. Després de crear un objecte de tipus C i cridar al mètode sum (), pot provocar un error perquè ambdues classes tenen el mateix mètode. El compilador no sap quina funció cridar. Per tant, l'herència múltiple augmenta la complexitat d'un sistema. L'herència múltiple és compatible amb el llenguatge C++, però llenguatges com Java, C no admeten l'herència múltiple. En comptes d'això, aquests idiomes utilitzen una interfície semblant a una classe, però que no es pot crear una instancia.
Què és l'herència multinivell?
L'herència multinivell és quan una classe hereta d'una classe derivada fent d'aquesta classe derivada una classe base per a una classe nova.
Figura 02: Herència multinivell
L'herència multinivell té tres nivells. La classe intermèdia que B hereta de la classe A i la classe C hereta de la classe B. A és la classe base per a B i B és la classe base per a C.
Un programa que implementa l'herència multinivell és el següent. El programa està escrit amb Java.
Figura 03: programa que implementa l'herència multinivell
Segons el programa anterior, la classe A és la classe base per a la classe B. La classe B és la classe base per a la classe C. Totes les propietats i mètodes de la classe A són accessibles per la classe B. Totes les propietats i mètodes de la classe B és accessible per la classe C. Per tant, la classe C pot accedir a propietats i mètodes d'A i B. Quan es crea un objecte de tipus C, és possible cridar els tres mètodes A (), B () i C (). La sortida donarà A, B, C.
Quina semblança hi ha entre l'herència múltiple i l'herència multinivell?
Tots dos són tipus d'herència
Quina diferència hi ha entre l'herència múltiple i l'herència multinivell?
Herència múltiple versus herència multinivell |
|
L'herència múltiple és un tipus d'herència on una classe hereta de més d'una classe base. | L'herència multinivell és un tipus d'herència que hereta d'una classe derivada, fent d'aquesta classe derivada una classe base per a una classe nova. |
Ús | |
L'herència múltiple no s'utilitza molt perquè fa que el sistema sigui més complex. | L'herència multinivell s'utilitza àmpliament. |
Nivells de classe | |
L'herència múltiple té dos nivells de classe, a saber, la classe base i la classe derivada. | L'herència multinivell té tres nivells de classe, a saber, classe base, classe intermèdia i classe derivada. |
Resum: herència múltiple vs multinivell
L'herència és un pilar important de la programació orientada a objectes. Hi ha diferents tipus d'Herència; són l'herència d'un sol nivell, l'herència multinivell, l'herència múltiple, l'herència jeràrquica i l'herència híbrida. L'herència de nivell únic té una classe base i una classe derivada. L'herència jeràrquica té una classe base i moltes classes derivades. L'herència híbrida és una combinació d'herència multinivell i múltiple. Aquest article descriu la diferència entre l'herència múltiple i l'herència multinivell. La diferència entre les herències múltiples i multinivells és que l'herència múltiple és quan una classe hereta de moltes classes base, mentre que l'herència multinivell és quan una classe hereta d'una classe derivada, fent d'aquesta classe derivada una classe base per a una classe nova. L'herència multinivell s'utilitza àmpliament que l'herència múltiple.
Descarregueu el PDF Herència múltiple vs multinivell
Podeu baixar la versió PDF d'aquest article i utilitzar-la per a finalitats fora de línia segons la nota de citació. Si us plau, descarregueu la versió PDF aquí Diferència entre herència múltiple i multinivell