Abstraktiolla ohjelmoinnissa tarkoitetaan tarpeettoman, vaikkakin erittäin tärkeän tiedon piilottamista ja vain tietyn avain- tai välttämättömän tiedon saamista näkyväksi käyttäjälle. Tämä on mahdollista käyttämällä abstrakteja luokkia.
Abstrakti luokka C#:ssa on pohjimmiltaan luokka, joka ei salli objektien luomista. 'Abstract' on avainsana tai muokkaus, joka saa tietyn luokan tai menetelmän olemaan abstraktia tai rajoitettua. Abstraktiin luokkaan pääsee vain perimällä eri luokasta.
Keskeiset ostokset
- Abstraktit luokat ovat epätäydellisiä luokkia, joita ei voida instantoida, mutta jotka toimivat perustana muille, joista ne voivat periä.
- Ne sisältävät vähintään yhden puhtaan virtuaalisen funktion, mikä tarkoittaa, että sillä ei ole toteutusta ja se on määriteltävä minkä tahansa johdetun luokan avulla.
- Abstrakteilla luokilla voi olla jäsenmuuttujia ja jäsenfunktioita toteutuksella, mutta niihin ei pääse käsiksi abstraktin luokan objektien kautta.
C#:n abstraktin luokan ominaisuudet ja komponentit
Tiettyjen tekijöiden on oltava olemassa, jotta abstrakti luokka voidaan aloittaa tai siihen päästään. Ne on listattu seuraavasti.
- Abstrakti luokka luo perusluokan, jota useat johdetut luokat käyttävät yleisesti. Ohjelmoijien on luotava johdettu luokka käyttääkseen tai toteuttaakseen abstraktia luokkaa.
- Abstrakti luokka on siis perittävä alaluokilla, jotka voivat jopa ohittaa funktion.
- Jokainen abstrakti luokka vaatii vähintään yhden abstraktin menetelmän.
Esimerkki abstraktista luokasta C#:ssa
Koska mekanismi on monimutkainen ja ymmärrettävä vain ohjelmoinnin tunteville Kieli, on parempi aloittaa yksinkertaisella esimerkillä konseptin selittämiseksi.
Oletetaan, että luokka 'Tree' on olemassa, ja olemassa oleva suunniteltu menetelmä tunnetaan nimellä 'type'. Mitään muuta ei ole määritelty, eikä muuta erityistä tietoa anneta – ei tiedetä puulajeja tai mahdollisia tyyppejä.
Jos erillinen esimerkki puusta on saatavilla, erillinen luokka luodaan perusluokan Tree periytymisen kautta. Ajatuksena on, että uusi luokka, sano Pine tai Tammi, ei voi muokata perusluokan eli puun rakennetta tai määritelmää. Sen on luotava luokkansa, joka on johdettu luokasta Tree, ja määriteltävä toinen perustasta peritty menetelmä.
Abstraktin luokan edut C#:ssa
- Vaikka alaluokat voivat joko toteuttaa tai ohittaa abstraktin luokan, tiettyjä muutokset voidaan tehdä, mikä edellyttää tietyn toiminnon toteuttamista.
- Abstraktia luokkaa suunniteltaessa on siis paljon joustavuutta sen suhteen, mitkä menetelmät on ehdottomasti otettava käyttöön.
- Ohjelmoija voi valita kuinka monta abstraktia menetelmää hän haluaa abstraktissa luokassa. On myös mahdollista kirjoittaa koodi ilman abstrakteja menetelmiä.
- Abstrakti luokka on määriteltävä vain kerran, ja sitä voidaan käyttää tai johtaa niin monta kertaa kuin on tarpeen.
- Abstrakti luokka on erittäin hyödyllinen, kun on joukko luokkia, joilla on tietty yhteneväisyys, mutta jotka eroavat abstraktin luokan toteutuksesta.
C#:n abstraktin luokan haitat
- Abstrakti luokka voidaan lisätä luokkahierarkiaan vain, jos abstrakteja luokkia ei ole.
- Minkä tahansa abstraktin luokan objekteihin voidaan vain viitata, ei niitä koskaan luoda.
- Vaikka abstrakteja luokkia ei voida instantoida, se ei salli staattisia muuttujia tai menetelmiä.
- https://books.google.co.in/books?hl=en&lr=&id=UbJa11wLcqYC&oi=fnd&pg=PA125&dq=Abstract+Class+in+C%23&ots=y9lmboLlHj&sig=kk5oYAJSHpmo-FyHphcAlkUh4cc&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
- https://books.google.co.in/books?hl=en&lr=&id=-w9ftEtwPGwC&oi=fnd&pg=PP8&dq=Abstract+Class+in+C%23&ots=XXCx6-5nlm&sig=CYfs0myaTnm1anSz4QUGcZ65uS4&redir_esc=y#v=onepage&q=Abstract%20Class%20in%20C%23&f=false
Viimeksi päivitetty: 11. kesäkuuta 2023
Sandeep Bhandari on suorittanut tietokonetekniikan kandidaatin tutkinnon Thaparin yliopistosta (2006). Hänellä on 20 vuoden kokemus teknologia-alalta. Hän on kiinnostunut erilaisista teknisistä aloista, mukaan lukien tietokantajärjestelmät, tietokoneverkot ja ohjelmointi. Voit lukea hänestä lisää hänen sivuiltaan bio-sivu.
Tämä viesti oli mielestäni hieman ironinen esittelyssään. Se tekee selityksestä kuitenkin varsin mielenkiintoisen.
Tämä artikkeli tarjoaa erittäin informatiivisen selityksen ohjelmoinnin abstraktiosta. Minusta se on todella kiehtovaa.
Olen samaa mieltä, Cooper. Tämä on erittäin informatiivinen artikkeli.
Esimerkki puusta abstraktin luokan selittämiseksi on vain nero. Erittäin hyvin tehty kirjoittajalta.
Kyllä, Helena. Täydellinen esimerkki havainnollistamaan konseptia.
En voisi olla enempää samaa mieltä kanssasi, Helena.
Artikkelissa kuvataan hienosti edut ja haitat. Kattava viite kaikille, jotka ovat kiinnostuneita oppimaan abstrakteista C#-kursseista.
Olen täysin samaa mieltä kanssasi, Ograham. Se on informatiivinen kappale.
Hienosti tiivistetty, Ograham. Loistava resurssi ohjelmoijille.
Tämä artikkeli ei ainoastaan tuo esiin C#:n abstraktin luokan etuja, vaan kattaa myös haitat. Todella perusteellinen analyysi!
Ehdottomasti, Mjones. Se on tasapainoinen näkemys aiheesta.
Aiheen selittämiseen käytetty koominen sävy tarjoaa virkistävän näkökulman. Kiitokset kirjoittajalle!
En voisi olla enempää samaa mieltä kanssasi, Dean89.
Ehdottomasti, Dean89. Upea sekoitus huumoria ja tietoa.
Tämän artikkelin argumentoitu lähestymistapa on todella huomionarvoinen. Se tarjoaa tasapainoisen näkemyksen konseptista.
Olen samaa mieltä, Yasmine. Perusteellinen analyysi on kiitettävää.
Abstraktin luokan suunnittelun joustavuus on mielestäni erittäin kiehtovaa. Tässä artikkelissa esitettiin sekä edut että haitat selkeällä ja ymmärrettävällä tavalla.
Olen täysin samaa mieltä kanssasi, Richards. Se on hienoa luettavaa.
Arvostan todella C#:n abstraktin luokan ominaisuuksien ja komponenttien yksityiskohtaista erittelyä. Hieno artikkeli!
Samaa mieltä, Sfox. Se on tärkeä tieto jokaiselle, joka oppii C#.
Juuri minun ajatukseni, Sfox. Erinomainen selitys.
Mielestäni tässä mainitut edut osoittavat todella abstraktin luokan hyödyllisyyden. Upeita oivalluksia tarjottu.
Ehdottomasti, Williams. Edut on ilmaistu hyvin.