voisko joku selittää lyhyesti mitä eroa noilla on?? ja kumpaa kannattaa käyttää ennemmin?
abstrakti luokka ja rajapinta
3
1215
Vastaukset
- jeppelius
Abstrakti luokka on luokan ilmentymä, joka on myös aina jonkin toisen aliluokan ilmentymä.
Rajapinta taas on tapa koota yhteen luokkaan samankaltaisia metodeita, joilla on sama nimi. Rajapinta vain luettelee niiden nimet mutta sitä voidaan käyttää samoihin tarkoituksiin kuin tavallisiakin luokkia.
Periaatteessa abstrakti luokka on rajapinta, tai näin voidaan ajatella. Riippuu tietysti sovelluksesta, kumpaa on parempi missäkin tilanteessa käyttää.- fidel1
Abstrakti luokka on, kuten nimikin sanoo, ei-konkreettinen luokka, jota ei voi instantioida, vaan sille pitää aina tehdä toteuttava luokka. Toteuttava luokka siis perii abstraktin luokan.
Tässä mielessä abstrakti luokka on vähän kuin rajapinta, mutta se voi olla myös enemmän. Sillä voi olla mm. oma konstruktori ja se voi toteuttaa metodeita ja määritellä muitakin kuin julkisia kenttiä. Se voi myös määritellä abstrakteja metodeita, jotka aliluokkien pitää toteuttaa.
Käyttöesimerkki: oletetaan että on olemassa rajapinta A, joka määrittelee joukon metodeja. Osa näistä metodeista voidaan toteuttaa universaalisti, kun taas osa metodeista vaatii esim. alustakohtaista toteutusta. Nyt voidaan luoda abstrakti luokka B, joka toteuttaa A:n universaalit metodit, mutta ei alustariippuvaisia metodeja. Koska B ei toteuta A:ta kokonaan, sitä ei voida käyttää A:n toteutuksena, eli sitä ei voida instantioida. B:stä periytetään luokat C ja D, jotka toteuttavat alustariippuvaiset koodit ja joista ajoaikaisesti valitaan oikea toteutus. Näin vältyttiin toteuttamasta universaalit metodit useampaan kertaan.
- JEaea
Turhan monimutkasia selityksiä tullut.
Tässä selkeä lainaus
Abstraktista luokasta ei voida sellaisenaan luoda oliota. Abstraktissa luokassa määritellään ne attribuutit ja metodit, jotka sen perivällä luokalla on ja lisäksi voidaan määritellä abstrakteja metodeja, joille ei anneta sisältöä vielä abstraktissa luokassa, mutta sen perivässä luokassa kyseinen metodi tulee olla.
Rajapinta voi sisältää vain julkisia metodeja, joita ei ole määritelty. Täten rajapintaa käyttävän luokan tulee määrittää kaikki nämä metodit. Rajapinta tarjoaa siis käyttäjälle varman tiedon siitä, mitä metodeja luokan käyttöliittymä ainakin tarjoaa
Se kumpaa kannattaa käyttää riippuu täysin mitä on tekemässä, ja väärinkäytettynä noilla vain sekoitetaan koodia, joten kannattaa miettä tarviiko noita siinä mitä on tekemässä.
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Lindtman I vasemmistohallitus aloittaa viimein Suomen kuntoon laittamisen
Tässä nyt on 3 vuotta seurattu irvokasta kärsimysnäytelmää nimeltään "valtion budjetin tasapainotus by äärioikeisto", ja2082834Missä viipyy persujen lupaama euron bensa?
En edes muista milloin bensapumpussa olisi ollut ykkösellä alkava litrahinta. Missä siis viipyy persujen lupaama euron b1672511Kirje, PellePelottomalle.
Tärkeää olisi luoda ystävyys, että se, jota rakastaa, on samalla paras ystävä ja luotettavin, jolle voi ja uskaltaa luot1061172Lapsien pakko kasteesta on luovuttava.
Eikö olisi parempi siirtää kaste rituaali rippikouluun,kun 15v.tietävät jo itse haluaavatko tulla kastetuksi juutalais-k5831015Voi teitä naisia
Suudeltiin ja nukuttiin toisissamme kiinni mutta pillua ei tullu, ei edes aamulla. t.38vmies1241002- 671000
Martinan hevoset.
Tämä todella kaunis ja ketterä harmaa hevonen jolla monet kilpailut voitetaan ei ole Martinan.Tytär ratsastaa sillä tait271952Persut jakavat tekoälyllä tehtyjä kuvia maahanmuuttajista somessa
Eivät mainitse, että ovat tekoälyllä tehtyjä. Eivät näe asiassa mitään ongelmaa. Valehtelijapuolue taas vauhdissa. Unka320921Mistä löytyy naisseuraa sinkkumiehelle?
Kertokaapas kokeneemmat mistä löytyis naisseuraa sinkulle. Ihan ois eukko nyt tosissaan hakusessa. Tanssipaikat kun on a20899Hyvä meininki
TTP:ssa väkeä tosi runsaasti paikalla. Hyvää ruokaa jälleen ja munkit ja sima erinomaista. Kiitos yrittäjälle! Hieno Vap22768