Mikä on ero abstraktin luokan ja käyttöliittymän välillä PHP: ssä

Sisällysluettelo:

Anonim

The tärkein ero Abstract -luokan ja käyttöliittymän välillä PHP: ssä abstrakti luokka voi koostua abstrakteista ja ei-abstrakteista menetelmistä, kun taas kaikilla käyttöliittymän menetelmillä ei ole toteutuksia.

PHP on palvelinpuolen skriptikieli. Se on yksi suosituimmista kielistä verkkokehityksessä. PHP mahdollistaa tiedostojen käsittelyn, lomakkeiden käsittelyn, sähköpostien lähettämisen, tiedostojen lataamisen, sovelluksen yhdistämisen DBMS -järjestelmään, kuten MySQL: n ja moniin muihin tehtäviin. Kehykset, kuten Zend ja Code Igniter, perustuvat PHP: hen. PHP tukee myös olio -ohjelmointia (OOP). Yksi tärkeä käsite OOP: ssa on abstraktio. Se auttaa piilottamaan toteutuksia ja näyttämään vain toiminnot käyttäjälle. Abstrakti luokka ja käyttöliittymä ovat kaksi menetelmää abstraktion saavuttamiseksi.

Abstraktio, Abstrakti luokka, käyttöliittymä, OOP, PHP

Mikä on abstrakti luokka PHP: ssä

Abstrakti menetelmä on menetelmä, jolla ei ole toteutusta. Abstrakti luokka on luokka, jolla on vähintään yksi abstrakti menetelmä. Siinä voi olla sekä abstrakteja että ei-abstrakteja menetelmiä. Avainsanaa "abstrakti" käytetään ilmoittamaan abstrakti luokka. Lisäksi luokan, joka laajentaa abstraktia luokkaa, tulisi tarjota toteutuksia kyseisen luokan abstrakteille menetelmille. Ohjelmoijat eivät voi luoda objekteja abstraktilla luokalla, mutta he voivat luoda objektin luokasta, joka laajentaa abstraktia luokkaa.

Kuva 1: Abstrakti luokka PHP: ssä

Yllä olevassa kuvassa Shape on abstrakti luokka. Siinä on abstrakti menetelmä nimeltä piirtää ja ei-abstrakti menetelmä nimeltä näyttö. Kolmioluokka laajentaa muotoa. Niinpä kolmioluokka tarjoaa toteutuksen abstraktille menetelmälle. Riville 19 luodaan kolmion objekti. Rivillä 20 piirtomenetelmää kutsutaan käyttämällä tätä objektia. Siksi piirtomenetelmä suoritetaan ja se näyttää "kolmion" konsolissa.

Mikä on käyttöliittymä PHP: ssä

Kaikki käyttöliittymän menetelmät ovat abstrakteja. Toisin sanoen se sisältää vain toimintojen prototyyppejä tai toimintoja ilman toteutuksia. Ohjelmoija ei voi luoda objekteja käyttöliittymän avulla. Käyttöliittymä ilmoitetaan käyttämällä "rajapinta" -avainsanaa. Vaikka käyttöliittymän menetelmät ovat abstrakteja, ohjelmoija ei ilmoita niitä abstraktilla avainsanalla. Sen sijaan näillä menetelmillä on oltava julkinen näkyvyys. Luokan, joka toteuttaa rajapinnan, tulisi tarjota toteutukset kaikille abstrakteille menetelmilleen.

Kuva 2: PHP -ohjelma 1 käyttöliittymällä

Edellä mainitussa ohjelmassa Shape on käyttöliittymä. Siinä on menetelmä nimeltä draw. Sillä ei ole toteutusta. Luokka Kolmio laajentaa muotoa. Kolmio -luokka tarjoaa toteutuksen piirtomenetelmälle. Riville 16 luodaan kolmio -objektin objekti. Rivillä 17 piirtomenetelmää kutsutaan käyttämällä tätä objektia. Siksi piirtomenetelmä suorittaa ja näyttää "kolmion" konsolissa.

Lisäksi rajapinnat auttavat myös toteuttamaan usean perinnön. Moninkertainen perintö on prosessi, jonka avulla luokka voi käyttää useiden luokkien määritteitä ja menetelmiä.

Kuva 3: PHP -ohjelma käyttöliittymillä

Liittymässä A on menetelmä A. Samoin rajapinnalla B on menetelmä B. Nämä menetelmät ovat funktion prototyyppejä. Toisin sanoen näillä menetelmillä ei ole toteutuksia. Luokatesti toteuttaa rajapinnan A ja B. Siksi kyseinen luokka tarjoaa toteutuksia menetelmälle A ja menetelmälle B. Luokatestillä on myös oma menetelmä nimeltä methodTest. Rivi 26 luo testikohteen. Sitten metodia A, method ja methodTest kutsutaan kyseisen objektin avulla.

Ero abstraktin luokan ja käyttöliittymän välillä PHP: ssä

Määritelmä

PHP: n abstrakti luokka on luokka, jolla on abstrakti avainsana ja joka on kokoelma abstrakteja ja ei-abstrakteja menetelmiä. Sitä vastoin PHP: n rajapinta on viitetyyppi ja koostuu kokoelmasta menetelmiä, joissa ei ole toteutuksia tai toimintojen prototyyppejä. Näin ollen tämä on tärkein ero abstraktiluokan ja käyttöliittymän välillä PHP: ssä.

Menetelmät

Abstraktilla luokalla voi olla sekä abstrakteja että ei-abstrakteja menetelmiä, kun taas kaikki käyttöliittymän menetelmät ovat menetelmä ilman toteutuksia.

Avainsana

Vaikka abstrakti luokka ilmoitetaan "abstrakti" -avainsanalla, käyttöliittymä ilmoitetaan "rajapinta" -avainsanalla.

Käyttö

Toinen ero abstraktin luokan ja käyttöliittymän välillä PHP: ssä on se, että abstrakti luokka auttaa saavuttamaan abstraktion, kun taas käyttöliittymä auttaa saavuttamaan abstraktion ja moninkertaisen perinnön.

Johtopäätös

PHP -kieli tukee olio -ohjelmointia. Abstraktio on OOP: n pilari. Abstraktit luokat ja rajapinnat ovat kaksi tapaa saada abstraktio. Suurin ero abstraktin luokan ja käyttöliittymän välillä PHP: ssä on se, että abstrakti luokka voi koostua abstrakteista ja ei-abstrakteista menetelmistä, kun taas kaikilla rajapinnan menetelmillä ei ole toteutuksia.

Viitteet:

1. "Abstraktit luokat PHP: ssä." GeeksforGeeks, 11. joulukuuta 2018, saatavana täältä. 2. "Useita perintöjä PHP: ssä." GeeksforGeeks, 21. helmikuuta 2019, saatavilla täältä.

Mikä on ero abstraktin luokan ja käyttöliittymän välillä PHP: ssä