Mahalagang Pagkakaiba – Inheritance vs Interface sa Java
Ang Java ay isang programming language na binuo ng Sun Microsystems. Maaaring gamitin ang Java upang bumuo ng iba't ibang mga application. Ito ay isang multi-paradigm na wika na sumusuporta sa object-oriented, structured atbp. Ang pangunahing bentahe ng Java ay sinusuportahan nito ang Object-Oriented programming (OOP). Ang programmer ay maaaring lumikha ng mga klase at bagay. Mayroong apat na haligi sa OOP. Ang mga ito ay pamana, polymorphism, abstraction at encapsulation. Ang inheritance at mga interface ay nauugnay sa OOP. Ang pangunahing pagkakaiba sa pagitan ng inheritance at interface ay ang inheritance ay ang pagkuha ng mga bagong klase mula sa mga kasalukuyang klase at ang interface ay ang pagpapatupad ng abstract classes at multiple inheritance.
Ano ang Inheritance sa Java?
Maaaring makamit ng inheritance ang code re usability. Ang inheritance ay nakakatulong upang muling gamitin ang mga katangian at pamamaraan ng isang umiiral na klase. Ang mekanismo ng pagkuha ng bagong klase gamit ang lumang klase ay tinatawag na pamana. Ang lumang klase ay kilala bilang parent class o super class. Ang hinangong klase ay tinatawag na child class o subclass.
Ang syntax ng Java inheritance ay ang mga sumusunod.
class subclass_name extends superclass_name {
variable na deklarasyon;
paraan ng deklarasyon;
}
Ang konsepto ng mana ay maaaring ipaliwanag gamit ang sumusunod na halimbawa. Ipagpalagay na mayroong klase na tinatawag na A tulad ng sumusunod.
pampublikong klase A{
public void sum(){
System.out.println(“Sum”);
}
}
Kung gusto naming magdagdag ng bagong paraan nang hindi binabago ang kasalukuyang klase, magagawa namin ito tulad ng sumusunod.
pampublikong klase B{
public void sub(){
System.out.println(“Sub”);
}
}
Maaaring gumamit ng inheritance ang programmer para magamit ang class A sum().
Ang public class B ay nagpapalawak ng class A{
public void sub(){
System.out.println(“Sub”);
}
}
Sa pangunahing function, posibleng gumawa ng object ng B at tumawag sa sub(), na kabilang sa class B at sum(), na kabilang sa class A gamit ang inheritance.
public static void main(String args){
B obj=bagong B();
obj.sub();
obj.sum();
}
May iba't ibang uri ng mana. Ang mga ito ay iisang mana, maramihang mana, multi-level na mana, at hierarchical na mana. Sa iisang pamana, mayroong isang batayang klase at isang nagmula na klase. Sa multi-level inheritance, mayroong tatlong klase na, base class, intermediate class at derived class. Ang intermediate class ay namamana mula sa base class, at ang derived na class ay namamana mula sa intermediate class. Sa hierarchical inheritance, mayroong isang base class at maraming derived classes. May espesyal na uri na kilala bilang Hybrid inheritance. Ito ay kumbinasyon ng dalawa o higit pang uri ng mana.
Figure 01: Inheritance
Sa Multiple inheritance mayroong maraming base classes at isang derived class. Ipagpalagay na ang klase A at B ay ang mga batayang klase. Ang Class C ay ang nagmula na klase. Kung ang parehong A at B na klase ay may parehong pamamaraan at tinawag ng programmer ang pamamaraang iyon mula sa nagmula na klase, magdudulot ito ng problema sa kalabuan. Ang pagmamana ng dalawang klase ay maaaring magdulot ng error sa compile-time. Samakatuwid, hindi sinusuportahan sa Java ang maramihang inheritance. Maaaring gumamit ng interface para malampasan ang problemang iyon.
Ano ang Interface sa Java?
Ang Abstraction ay isang proseso ng pagtatago ng mga detalye ng pagpapatupad at pagpapakita lamang ng mga functionality sa user. Maaaring makamit ang abstraction gamit ang mga Abstract na Klase o Interface. Ang abstract na pamamaraan ay isang pamamaraan na walang pagpapatupad. Ang isang klase na may hindi bababa sa isang abstract na pamamaraan ay isang abstract na klase. Ang halimbawa ng abstract class ay ang mga sumusunod.
abstract class A{
abstract void sum();
}
Ipagpalagay na mayroong dalawang abstract na klase bilang A at B. Upang ipatupad ang mga abstract na pamamaraan ng A at B, isang bagong klase C ang nilikha. Kung gayon ang klase C ay dapat pahabain ang parehong A at B., Ngunit ang maramihang pamana ay hindi suportado sa Java. Samakatuwid, dapat gumamit ng mga interface. Maaaring gamitin ang mga interface upang magdeklara ng mga pamamaraan, ngunit hindi posible na tukuyin ang mga pamamaraan. Hindi posible na lumikha ng isang bagay gamit ang mga interface. Dapat ipatupad ng Class C ang lahat ng pamamaraan sa interface A at B.
interface A{
void sum();
}
interface B{
void sub();
}
class C ay nagpapatupad ng A, B{
public void sum(){
System.out.println(“Summation”);
}
public void sub(){
System.out.println(“Pagbabawas”);
}
}
Ngayon, sa pangunahing programa posible na gumawa ng object ng C at tawagan ang parehong pamamaraan.
public static void main (String args) {
C obj=bagong C();
obj.sum();
obj.sub();
}
Kaya, magagamit ang mga interface upang magpatupad ng maramihang mana.
Ang isa pang paggamit ng mga interface ay nagbibigay ito ng seguridad. Sumangguni sa code sa ibaba.
interface A {
void sum ();
}
class B ay nagpapatupad ng A {
public void sum () {
System.out.println(“Summation”);
}
public void multiply () {
System.out.println(“Multiplikasyon”);
}
}
Kapag lumilikha ng object ng B, posibleng tawagan ang parehong mga pamamaraan na sum () at multiply (). Kung gusto ng programmer na paghigpitan ang paggamit ng multiply () function, ito ay posible sa mga sumusunod.
public static void main(String args){
A obj=bagong B();
obj.sum();
}
A obj=bagong B(); lilikha ng isang bagay. Ito ay nasa uri A at ang memorya ay inilalaan bilang B. Posibleng tumawag sa sum() ngunit hindi maaaring magsagawa ng multiply(). Ginagawa ang paghihigpit na ito gamit ang mga interface.
Ano ang Pagkakatulad sa pagitan ng Inheritance at Interface sa Java?
- Ang parehong konsepto ay nauugnay sa Object-Oriented Programming
- Parehong kumakatawan sa IS-A na relasyon.
Ano ang Pagkakaiba sa pagitan ng Inheritance at Interface sa Java?
Inheritance vs Interface sa Java |
|
Ang Inheritance ay isang konsepto ng OOP upang makakuha ng mga bagong klase mula sa mga kasalukuyang klase. | Ang Interface ay isang mekanismo sa OOP para ipatupad ang abstraction at multiple inheritance. |
Paggamit | |
Inheritance ay nagbibigay ng code reusability. | Ang mga interface ay nagbibigay ng abstraction at multiple inheritance. |
Buod – Inheritance vs Interface sa Java
Ang Java ay isang multi-paradigm programming language na sumusuporta sa object-oriented programming. Ang inheritance at mga interface ay nauugnay sa object-oriented na programming. Ang pagkakaiba sa pagitan ng inheritance at interface ay ang inheritance ay ang pagkuha ng mga bagong klase mula sa mga kasalukuyang klase at ang mga interface ay ang pagpapatupad ng abstract classes at multiple inheritance.
I-download ang PDF Version ng Inheritance vs Interface sa Java
Maaari mong i-download ang PDF na bersyon ng artikulong ito at gamitin ito para sa mga offline na layunin ayon sa tala ng pagsipi. Paki-download ang bersyon ng PDF dito Pagkakaiba sa Pagitan ng Inheritance at Interface sa Java