Luokka vs. rajapinta C#:ssa

Luokka on määrittely siitä, miten samasta luokasta rakennetaan objekteja . Se on eräänlainen luonnos tai prototyyppi, josta luodaan yksittäisiä objekteja. Voidaan sanoa, että luokka on malli, joka kuvaa, millaista tilaa ja käyttäytymistä sen tyyppiset objektit tukevat.

Objektiorientoituneen ohjelmoinnin (OOP) termein voidaan sanoa, että Toyota-auto on instanssi objektiluokasta, joka tunnetaan nimellä Car. Luokka on kuin auton pohjapiirustus. Tämän mallin avulla voit rakentaa niin monta Autoa kuin haluat. Jokainen rakentamasi auto on luokan Auto objekti. Jokaisella Autolla on tietenkin myös numero. Jos haluat kertoa jollekulle, mikä on autosi, annat hänelle numeron sen tunnistamista varten. Tätä numeroa kutsutaan Objectin viitteeksi .

Liittymä tarjoaa sopimuksen, joka määrittelee, miten Object luodaan, välittämättä siitä, miten ne tekevät asioita. Rajapinta on viitetyyppi ja se sisälsi vain abstrakteja jäseniä, kuten tapahtumia, metodeja, ominaisuuksia jne. eikä sillä ole toteutuksia millekään jäsenelleen.

Kun luokka toteuttaa rajapinnan, kääntäjä pakottaa luokan kirjoittamaan ne metodit ja ominaisuudet, jotka rajapinta on määritellyt. Eli jos toteutat rajapinnan luokassasi, sinun on ilmoitettava kaikki rajapinnan tapahtumat, metodit ja ominaisuudet luokassasi. Rajapinnalla voi olla vain abstrakteja metodeja ja vakioita , jotka ovat aina implisiittisesti julkisia, staattisia ja lopullisia.

Luokalla on sekä määritelmä että toteutus, kun taas rajapinnalla on vain määritelmä.

Luokkaa voidaan instanttisoida, mutta rajapintaa ei voida instanttisoida Voit luoda instanssin oliosta, joka toteuttaa rajapinnan.

Luokka on kokonaisuus, jossa on jäseniä, metodeja, määrittelynsä ja toteutuksensa kanssa. Rajapinta on vain joukko määritelmiä, jotka sinun on toteutettava luokassasi, joka perii kyseisen rajapinnan.

Vastaa

Sähköpostiosoitettasi ei julkaista.