Programarea orientată pe obiecte (OOP) este o paradigmă majoră în dezvoltarea de software. Este o metodologie de proiectare a unui program folosind clase și obiecte. O clasă este un model. Descrie ce ar trebui să conțină în obiect. Definește proprietățile sau atributele și metodele pe care trebuie să le compună obiectul. Prin urmare, un obiect este o instanță a unei clase. Aceste obiecte comunică cu alte obiecte. Un concept major al OOP este polimorfismul. Abilitatea unui obiect de a se comporta în mai multe moduri. Polimorfismul este clasificat în două secțiuni care sunt supraîncărcate și depășesc. Acest articol discută diferența dintre aceste două în Java. diferența cheie între supraîncărcarea și suprascrierea în Java este faptul că Suprasolicitarea este capacitatea de a crea mai multe metode de același nume cu implementări diferite și Overriding este de a furniza o implementare pentru o metodă subclasă care există deja în superclaj.
1. Prezentare generală și diferență cheie
2. Ce este supraîncărcarea în Java
3. Ce este suprascrierea în Java
4. Asemănări între supraîncărcarea și suprimarea în Java
5. Comparație între ele - Supraîncărcarea vs. Înlocuirea în Java în formă tabulară
6. rezumat
Suprasolicitarea este capacitatea de a crea mai multe metode de același nume cu implementări diferite. Consultați codul Java de mai jos.
Figura 01: Program Java care explică supraîncărcarea cu un număr diferit de argumente
În conformitate cu programul de mai sus, clasa A conține două metode cu același nume. Metoda primei sume are doi parametri. Metoda a doua sumă are trei parametri. Atunci când se creează un obiect de tip A și sumă de apel (2,3), se va apela metoda sumă cu doi parametri care sunt suma (int a, int b) și returnează 5. Atunci când se creează un obiect de tip A și sumă de apel (2) , 3,4), se va numi metoda celeilalte sume cu trei parametri care este suma (int a, int b, int c) si returneaza 9.
Numele metodei este același, dar numărul de parametri este diferit. Se poate observa că același obiect se comportă diferit. Acest concept este cunoscut sub numele de supraîncărcare. Este de asemenea menționat ca Încadrare statică sau Compilează polimorfismul de timp.
De asemenea, pot fi supraîncărcate cu diferite tipuri de date. Consultați codul Java de mai jos.
Figura 02: Program Java care explică supraîncărcarea cu un număr diferit de argumente
În conformitate cu programul de mai sus, clasa A constă din două metode cu același nume. Metoda sum (int a, int b) primește două valori întregi. Suma (dublu și dublu b) primește două valori duble. Atunci când se creează obiectul de tip A și suma de apel (2,3), se va apela suma (int a, int b) și se va întoarce valoarea 5. Când se apelează suma (3.4, 5.6), se va suna suma (dublu și dublu b) și returnați valoarea 9.0. În acest exemplu, metodele au același nume, dar un alt tip de variabile. Acest lucru este, de asemenea, supraîncărcarea.
În Java, este posibilă construirea de subclase cu clase deja existente. În loc să creați noua clasă de la început, este posibil să utilizați proprietățile și metodele clasei deja existente. Clasa existentă este superclama, iar clasa derivată este subclasa. Atunci când subclasa oferă o implementare pentru o metodă care se află deja în superclaj, aceasta este cunoscută sub numele de suprapunere. Consultați programul Java de mai jos.
Figura 03: Program Java pentru suprascriere
În conformitate cu programul de mai sus, clasa A are o metodă de afișare (). Clasa B se extinde de la clasa A, astfel încât proprietățile și metodele din clasa A sunt accesibile de clasa B. Clasa B are afișarea metodei () cu o implementare specifică. Atunci când creați un obiect de tip A și apelați metoda de afișare, acesta va da ieșirea B. Chiar dacă clasa A are o metodă de afișare, este suprascrisă metoda de afișare a clasei B. Subclasa implementează o metodă care există deja în superclaj.
Acest concept este un tip de polimorfism și este cunoscut sub numele de "imperativ". Este, de asemenea, numit ca Link-uri târzii, Legarea dinamică, Perioada de desfășurare a polimorfismului.
Suprasolicitarea vs. Suprascrierea în Java | |
Supraîncărcarea în Java este capacitatea de a crea mai multe metode de același nume cu diferite implementări. | Înlocuirea în Java oferă o implementare specifică în metoda subclaselor pentru o metodă care există deja în superclaj. |
Parametrii | |
În suprasolicitare, metodele au același nume, dar un număr diferit de parametri sau un alt tip de parametri. | În metodele suprapuse, metodele au același nume, iar parametrii trebuie să fie aceiași. |
tematică | |
Suprasolicitarea are loc în cadrul clasei. | Înlăturarea are loc în cadrul celor două clase care au o relație de moștenire. |
Sinonime | |
Supraîncărcarea se numește polimorfism de timp compilat. | Îndepărtarea se numește polimorfism de rulare. |
Polimorfismul este un concept major în programarea orientată pe obiecte. Acesta oferă capacitatea unui obiect de a se comporta în mai multe moduri. Acest lucru poate fi de supraîncărcare sau de suprasolicitare. Supraîncărcarea este polimorfismul compilării timpului, iar polimorfismul este timpul de execuție. Ele sunt utile în dezvoltarea de aplicații software. Diferența dintre suprasolicitarea și supraîncărcarea este că suprasarcina este capacitatea de a crea mai multe metode cu același nume cu implementări diferite, iar Overriding oferă o implementare specifică în metoda subclaselor pentru o metodă care există deja în superclaj. Este posibil să se implementeze atât supraîncărcarea, cât și suprascrierea în Java.
Puteți descărca versiunea PDF a acestui articol și o puteți utiliza în scopuri offline conform notei de citare. Descărcați versiunea PDF aici Diferența dintre suprasolicitare și suprascriere în Java
1.tutorialspoint.com. "Suprascrierea Java." Punctul. Disponibil aici
2. "Supraîncărcarea metodelor în Java - Javatpoint." Disponibil aici
3. "Metoda de suprascriere în Java - javatpoint." Disponibil aici