Ero luokan ja käyttöliittymän välillä

Avainero - luokka vs. käyttöliittymä
 

Object-Oriented Programming (OOP) on yleinen paradigma ohjelmistokehityksessä. Se auttaa tuomaan reaalimaailman skenaarioita ohjelmointiin luokkien ja objektien avulla. Luokka on suunnitelma objektin luomiseksi. Ohjelmoija voi luoda luokan ominaisuuksilla ja menetelmillä. Opiskelija ja opettaja ovat esineitä. Objektin luominen tunnetaan nimellä instanssien. OOP käyttää myös rajapintoja. Rajapinnat ja luokka saattavat tuntua samanlaisilta, mutta niillä on ero. Tässä artikkelissa käsitellään luokan ja käyttöliittymän eroa. avainero luokan ja käyttöliittymän välillä on se luokka on viitetyyppi, joka on suunnitelma objektin nopeuttamiseksi, kun taas rajapinta on viitetyyppi, jota ei voida käyttää objektin nopeuttamiseen.

SISÄLLYS

1. Yleiskatsaus ja keskeiset erot
2. Mikä on luokka?
3. Mikä on käyttöliittymä
4. Luokan ja käyttöliittymän samankaltaisuudet
5. Vertailu rinnakkain - luokka vs. rajapinta taulukkomuodossa
6. Yhteenveto

Mikä on luokka?

OOP: ssa kaikkea pidetään objektina. Objektia ei ole mahdollista luoda ilman luokkaa. Luokka on suunnitelma objektin luomiseksi. Taloa rakennettaessa arkkitehti piirtää suunnitelman. Suunnitelma on samanlainen kuin luokka. Talo on samanlainen kuin esine. Luokka on suunnitelma rakentaa esine. Objekti on mitä luokan avulla luodaan.

Luokka sisältää ominaisuudet ja menetelmät. Opiskelijalla voi olla ominaisuuksia, kuten nimi, luokka, hakemistonumero. Opiskelijalla voi olla menetelmiä, kuten lukeminen, kävely, opiskelu. Luodaan luokka tarvittavilla ominaisuuksilla ja menetelmillä.

Syntaksi luokan luomiseksi monilla ohjelmointikielillä on seuraava. Se luodaan avainsanaluokalla.

luokka luokan_nimi

// ominaisuudet

// menetelmät

Ohjelmointikielet, kuten C # ja Java, noudattavat samanlaista syntaksia objektin luomiseen luokkaa käyttämällä. Oletetaan, että luokan nimi on Opiskelija.

Opiskelija s1 = uusi opiskelija ();

Tämä s1 on objekti. ”Uutta” avainsanaa käytetään muistin varaamiseen ominaisuuksille. Luokassa on myös konstruktori ominaisuuksien tai muuttujien alustamiseksi.

Luokan jäsenillä, kuten ominaisuuksilla ja menetelmillä, on pääsymuokkaimet. Käyttöoikeuksien määrittäjät kuvaavat jäsenten saavutettavuutta ja näkyvyyttä muihin luokkiin. Luokan jäsenillä voi olla pääsymääritelmät, kuten julkinen, yksityinen ja suojattu. Julkiset jäsenet pääsevät muihin luokkiin. Yksityiset jäsenet pääsevät vain luokkaan. Suojattuihin jäseniin pääsee luokan sisällä ja alaluokissa.

Mikä on käyttöliittymä?

Abstraktio on oliokeskeisen ohjelmoinnin pylväs. Sen tarkoitus on piilottaa toteutuksen yksityiskohdat ja näyttää toiminnot käyttäjälle. Abstraktio saavutetaan abstraktien luokkien ja rajapintojen avulla. Abstraktilla menetelmällä ei ole toteutusta. Luokkaa, joka sisältää ainakin yhden abstraktin menetelmän, kutsutaan abstraktiksi luokkaksi.

Kun on olemassa kaksi abstraktia luokkaa, niissä ilmoitetut menetelmät olisi toteutettava. Näiden menetelmien toteuttamiseen käytetään uutta luokkaa. Jos molemmilla luokilla olisi sama menetelmä, se saattaa aiheuttaa epäselvyyttä. Siksi ohjelmointikielellä, kuten Java ja C #, on käyttöliittymä.

Rajapinnat sisältävät vain menetelmien ilmoituksen. Toteutustapaa ei ole. Rajapintoja ei myöskään voida käyttää objektien luomiseen. Niitä käytetään tukemaan useita perintöjä ja varmistamaan koodi.

Rajapinnan syntaksi on seuraava. Interface käyttää avainsanaa “interface”.

käyttöliittymän_nimi

tyyppi menetelmä1 (parametriluettelo);

tyyppi menetelmä2 (parametriluettelo);

Yllä olevan mukaan rajapinnoilla on vain ilmoitus. Ei ole määritelmää. Joten rajapinnat eivät voi objekteja pilkata. Se antaa vain abstraktin kuvan siitä, mikä käyttöliittymä on. Rajapinnassa ilmoitetut menetelmät voidaan toteuttaa yhdellä tai useammalla luokalla. Luokka käyttää avainsanaa “toteuttaa” käyttöliittymän toteuttamiseen. Katso alla Java-kirjoitettu esimerkki.

Kuva 01: Ohjelma käyttöliittymien avulla

Yllä olevan ohjelman mukaan A ja B ovat rajapintoja. Rajapinnalla A on menetelmäilmoitus, joka on summa (). Rajapinnalla B on menetelmäilmoituksen alaosa (). Luokka C toteuttaa molemmat rajapinnat, jotka ovat A ja B. Siksi luokka C määrittelee sekä sum () - että sub () -menetelmät. Kun olet luonut tyypin C objektin, on mahdollista kutsua molemmat menetelmät sum () ja sub ().

Rajapinnan sisällä ilmoitettujen menetelmien on aina oltava julkisia, koska toteutusluokat määrittelevät ne. Rajapinta voi myös periä toisesta rajapinnasta.

Mitkä ovat luokan ja käyttöliittymän samankaltaisuudet??

  • Molemmat ovat vertailutyyppejä.
  • Molemmat liittyvät olio-ohjelmointiin.

Mikä on ero luokan ja käyttöliittymän välillä??

Luokka vs. käyttöliittymä

Luokka on viitetyyppi, joka on suunnitelma objektin luomiseksi. Rajapinta on viitetyyppi, jota ei voida toteuttaa.
 Objektin selvitys
Luokkaa käytetään objektin pilkkomiseen. Rajapinta ei voi toteutua, koska menetelmät eivät pysty suorittamaan mitään toimintoa.
Rakentaja
Luokka sisältää konstruktorin muuttujien alustamiseksi. Rajapinta ei sisällä rakentajaa, koska niillä ei ole juuri mitään muuttujia alustettavaksi.
 avainsana
Luokka käyttää avainsanaa "luokka". Käyttöliittymä käyttää avainsanaa “käyttöliittymä”.
Pääsymäärittely
Luokan jäsenet voivat olla yksityisiä, julkisia ja suojattuja. Rajapinnan jäsenten tulee olla aina julkisia, koska toteutusluokat määrittelevät heidät.

Yhteenveto - luokka vs. käyttöliittymä

Luokat ja rajapinnat ovat laajalti käytössä olio-ohjelmoinnissa. Ero luokan ja rajapinnan välillä on, että luokka on vertailutyyppi, joka on suunnitelma objektin nopeuttamiseksi, ja rajapinta on referenssityyppi, jota ei voida käyttää objektin pilkkomiseen. Luokka voi toteuttaa monia rajapintoja. Mutta se voi laajentaa vain yhden superluokan. Käyttöliittymässä voi periä monia rajapintoja, mutta toteutusta ei voi olla. Molemmilla on tärkeys. Ohjelmoija voi käyttää niitä ohjelmistojen kehittämisen mukaan.

Lataa PDF-luokka vs. käyttöliittymä

Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä Ero luokan ja käyttöliittymän välillä

Viite:

1.tutorialspoint.com. ”Java-objekti ja luokat.”, Kohta. Saatavilla täältä 
2.navinreddy20. Java-käyttöliittymä esimerkillä, Java By Navin Reddy, 11. joulukuuta 2012. Saatavilla täältä