Mikä on OOP? - Periaatteet esimerkkeinä Edut ja haitat

Sisällysluettelo:

Anonim

Mikä on OOP?

Object-Oriented Programming (tai OOP) on ohjelmoinnin paradigma, jossa ohjelmat kirjoitetaan ja rakennetaan objektien ympärille funktion tai logiikan sijasta. Tässä kohteet määritellään tietokentiksi, joilla on ainutlaatuiset määritteet ja käyttäytyminen. Ne sisältävät tietoja ominaisuuksien muodossa ja menetelmiä menetelminä. Objektitoimenpiteet voivat käyttää ja muokata objektissa olevia tietoja.

OOP-kieliä on monia, joista suosituimpia ovat luokkaperustaiset, missä esineet ovat luokan esiintymiä. Luokka on säiliö dataa ja menettelyjä varten, tunnetaan myös nimellä datajäsenet ja jäsentoiminnot. Tarkastellaan esimerkkiä esineestä autona. Autolla on ominaisuuksia, kuten väri, tuotenimi, polttoainekapasiteetti jne., Ja sillä on menetelmiä edustaa auton käyttäytymistä kuten käynnistys, kiihdytys, tauko jne. Luokka on ominaisuuksien ja menetelmien suunnitelma, eikä se vie tilaa, kunnes ja ellei kyseiselle luokalle ole tehty objektia.

Esimerkki :

class car
(
char name(20); // name and colour are attributes
char colour(20);
public void start()() //start is a method
);
void main()
(
car c1; //c1 is an object
)

Oliokeskeiset ohjelmointitavoitteet, jotka otetaan käyttöön ohjelmoinnissa reaalimaailman kokonaisuuksissa, kuten perintö, polymorfismi, kapselointi jne., Jotka näemme yksityiskohtaisesti. OOP: n päätavoite on sitoa tiedot ja niitä käyttävät toiminnot kollektiivisesti siten, että vain tämä toiminto voi käyttää näitä tietoja.

OOP-periaatteet

Objektilähtöisen ohjelmoinnin neljä pääperiaatetta ovat kapselointi, abstraktio, periminen ja polymorfismi.

1. Kapselointi:

Tietojen ja menetelmien sitomista yhdeksi yksiköksi kutsutaan kapseloimiseksi. Kapselointi suoritetaan, kun jokainen luokan sisällä oleva esine pitää tilansa yksityisenä. Ulkoiset esineet eivät pääse tämän yksikön sisällä oleviin tietoihin, ja vain ne yksikön sisällä olevat toiminnot pääsevät siihen. Siksi esine hallitsee tilaa tilaansa menetelmiensä avulla ja kommunikoidakseen tämän objektin kanssa tarvitsemme tämän luokan julkisten menetelmien apua.

2. Abstraktio

Abstraktio on kapseloinnin jatko. Se tarkoittaa vain tarvittavan tiedon toimittamista ulkomaailmalle piilottamalla toteutuksen sisäiset yksityiskohdat. Se paljastaa vain muille kohteille sopivat toiminnot. Tämän etuna on, että voimme muuttaa toteutusta vaikuttamatta luokkaan, koska menetelmärajapinta pysyy samana.

Otetaanpa esimerkki laskimesta, joka ottaa meiltä syötteen ja antaa painikkeen painalluksella halutun tuloksen, samalla kun säästät meille sisäisiä yksityiskohtia siitä, kuinka se on saapunut tähän vastaukseen.

3. Perintö

Usein esineet ovat toiminnallisesti samanlaisia, jakaen osan logiikasta, mutta eroavat toisistaan. Joten miten voimme käyttää uudelleen yhteistä logiikkaa ja erottaa eri logiikat? Tämä voidaan saavuttaa perinnöllä. Perinnöissä luomme uuden luokan, jota kutsutaan lastenluokkaksi, joka on johdettu olemassa olevasta luokasta, jota kutsutaan vanhemmiksi luokiksi, jolloin muodostuu luokkien hier0archy. Lapsiluokka käyttää uudelleen tietokenttiä ja menetelmiä, joita se vaatii vanhemmalta, ja toteuttaa ainutlaatuisen toiminnallisuutensa yksin.

Ajoneuvo voi olla esimerkiksi vanhemmaluokka, josta voimme johtaa lastenluokkia, kuten pyörä ja auto. Niillä on yhteiset ominaisuudet polttoaineella ajamisessa ja matkustajien kuljettamisessa, mutta ne eroavat toisistaan ​​kuljetettavien matkustajien lukumäärän ja muiden vastaavien ominaisuuksien suhteen.

4. Polymorfismi

Polymorfismi on kyky olla useammassa kuin yhdessä muodossa. Oletetaan, että meillä on vanhempien luokka ja muutama sen lapsiluokasta. Nyt haluamme käyttää sekä vanhempien että lasten luokkien ominaisuuksia, joten miten se saavutetaan? Tämä voidaan tehdä käyttämällä polymorfismia. Polymorfismissa abstraktit entiteetit toteutetaan monin tavoin. Se antaa tavan kuluttaa luokkaa täsmälleen vanhemman luokan tapaan siten, että ei ole sekoittamista luokkatyyppien sekoittamiseen, ja jokainen lastenluokka jatkaa menetelmiensä pitämistä tavanomaisella tavalla. Tämä voidaan tehdä käyttämällä uudelleen vanhemman käyttöliittymää, jotta lapsiluokka voi toteuttaa nämä menetelmät omassa versiossa.

Olio-ohjelmoinnin edut

  • Todellisen maailman idea voidaan osoittaa, koska kaikkea OOP: ssa käsitellään objektina.
  • Kun käytämme kapseloinnin käsitettä, ohjelmia on helpompi testata ja ylläpitää.
  • Koodin nopeampi kehitys tapahtuu, kun kehitämme luokkia rinnakkain eikä peräkkäin.
  • OOP tarjoaa suuremman tietoturvan tietojen abstraktiosta johtuen. Ulkopuolinen maailma ei pääse piilotettuihin tietoihin.
  • Uudelleenkäytettävyys voidaan saavuttaa käyttämällä jo kirjoitettuja luokkia.

Olio-ohjelmoinnin haitat

  • Ohjelman suunnittelu OOP-konseptilla voi olla hankalaa.
  • Ohjelmoijan on suunniteltava etukäteen ohjelman kehittämiseksi OOP: ssa.
  • OOP: lla kehitettyjen ohjelmien koko on suurempi kuin menettelyllisellä lähestymistavalla kehitetyt ohjelmat.
  • Koska OOP-ohjelmat ovat kooltaan suurempia, myös näiden ohjelmien suoritusaika on pidempi.

Kuinka tietoa OOP: sta voi auttaa urakehityksessä?

Monet nykypäivän tärkeimmistä trendikieleistä, kuten Java ja Ruby, käyttävät oliopohjaisia ​​ohjelmointikäsitteitä. OOP-kielet auttavat ohjelmistojen kirjoittamisessa sovelluksiin, kuten mobiili-, verkko- ja pelisovelluksiin. Näillä aloilla on korkeat ansiot, kuten ohjelmoijille parhaat työmahdollisuudet maata näillä aloilla. OOP: n perusteilla on helppo siirtyä erilaisiin tekniikoihin ja kieliin, ja tämä laajentaa uranäkymiämme. Yksi haittapuoli tässä sattuu olemaan asiantuntemus. Yleensä yritykset etsivät käytännön kokemusta OOP-kielistä ja -konsepteista, joten suositellaan harjoittelua, kun kuljemme oppimisprosessia pitkin.

johtopäätös

Olio-ohjelmointi yksinkertaistaa meille ohjelmointiprosessia. Sillä on monia arvoja, kuten uudelleenkäytettävyys, tehokkuus ja koodin ylläpito. Vaikka alun perin voi olla vaikea ymmärtää OOP: n käsitteitä, vakuutan teille, että hedelmät ovat vaivan arvoisia. Toivottavasti tämä artikkeli auttoi yksinkertaistamaan näitä käsitteitä sinulle!

Suositeltava artikkeli

Tämä on opas kohtaan Mikä on OOP? Tässä keskustelimme käsitteistä, määritelmistä ja periaatteista OOP: n eduista ja haitoista. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Onko Hadoop avoimen lähdekoodin?
  2. Mikä on Java-perintö?
  3. Mikä on monisäikeinen C #: ssä?
  4. Mikä on ASP.Net Web Services?