Kuten nimestä voi päätellä, Object-Oriented Programming tai Java OOPs -konsepti viittaa kieliin, jotka käyttävät olioita ohjelmoinnissa, ne käyttävät objekteja ensisijaisena lähteenä toteuttaakseen mitä koodissa tapahtuu. Katsoja tai käyttäjä näkee objektit suorittaessaan määrittämiäsi tehtäviä.
Olio-ohjelmoinnin tavoitteena on toteuttaa reaalimaailman kokonaisuuksia, kuten perinnöllisyys, piiloutuminen, polymorfismi jne. Ohjelmoinnissa. OOP:n päätavoite on sitoa tiedot ja niillä toimivat toiminnot yhteen siten, että mikään muu koodin osa ei pääse käsiksi näihin tietoihin kuin kyseinen toiminto.
alleviivaus alas
Pohditaanpa edellytyksiä hiomalla menetelmän ilmoittamisen ja sanoman välityksen käsitteitä. Metodin määrittelystä alkaen se koostuu kuudesta osasta:
- Access Modifier : Määrittää pääsyn tyyppi menetelmästä eli mistä siihen pääsee sovelluksessasi. Javassa on neljän tyyppisiä käyttöoikeusmäärityksiä:
- julkinen: Saatavilla kaikilla hakemuksesi luokilla.
- suojattu: Käytettävissä paketissa, jossa se on määritelty, ja sen sisällä alaluokat (mukaan lukien alaluokat, jotka on ilmoitettu paketin ulkopuolella) .
- yksityinen: Käytettävissä vain luokassa, jossa se on määritetty.
- oletus (ilmoitettu/määritetty käyttämättä mitään muuntajaa): Käytettävissä samassa luokassa ja paketissa, jossa sen luokka on määritetty.
- Palautustyyppi : Metodin palauttaman arvon tietotyyppi tai void, jos se ei palauta arvoa.
- Menetelmän nimi : Kenttien nimiä koskevat säännöt koskevat myös menetelmien nimiä, mutta käytäntö on hieman erilainen.
- Parametriluettelo : Pilkuilla eroteltu luettelo syöttöparametreista, jotka on määritelty suluissa ja ennen niiden tietotyyppiä. Jos parametreja ei ole, sinun on käytettävä tyhjiä sulkeita ().
- Poikkeusluettelo : Poikkeukset, joiden odotat menetelmän heittävän. Voit määrittää nämä poikkeukset.
- Menetelmän runko : Se on aaltosulkeiden välissä oleva koodilohko, joka sinun on suoritettava suorittaaksesi aiotut toiminnot.
Viestiä ohitetaan : Objektit kommunikoivat keskenään lähettämällä ja vastaanottamalla tietoa toisilleen. Objektin sanoma on pyyntö toimenpiteen suorittamiseksi, ja siksi se kutsuu vastaanottavassa objektissa toiminnon, joka tuottaa halutut tulokset. Viestin välittäminen sisältää kohteen nimen, toiminnon nimen ja lähetettävän tiedon määrittelyn.
Master OOP Javassa Kirjoita puhtaampaa, modulaarisempaa ja uudelleenkäytettävää Java-koodia rakentamalla perusta olio-ohjelmoinnille Educativen interaktiivisella Opi-kurssilla Olio-ohjelmointi Javassa . Rekisteröidy osoitteessa Educative.io koodilla GEEKS10 säästääksesi 10 % tilauksestasi.
Nyt kun olemme käsitelleet perusedellytykset, siirrymme OOP:n neljään pilariin, jotka ovat seuraavat. Aloitetaan kuitenkin oppimalla olio-ohjelmointikielen eri ominaisuuksista.
OOPS-konseptit ovat seuraavat:
- Luokka
- Esine
- Menetelmä ja menetelmän ohittaminen
- OOP:n pilarit
- Abstraktio
- Kapselointi
- Perintö
- Polymorfismi
- Käännösajan polymorfismi
- Ajonaikainen polymorfismi

A luokkaa on käyttäjän määrittämä suunnitelma tai prototyyppi, josta objektit luodaan. Se edustaa joukkoa ominaisuuksia tai menetelmiä, jotka ovat yhteisiä kaikille samantyyppisille objekteille. Luokkien avulla voit luoda useita objekteja samalla käyttäytymisellä sen sijaan, että kirjoittaisit niiden koodin useita kertoja. Tämä sisältää luokat objekteille, jotka esiintyvät useammin kuin kerran koodissasi. Yleensä luokkailmoitukset voivat sisältää nämä komponentit järjestyksessä:
- Muokkaimet : Luokka voi olla julkinen tai sillä voi olla oletuskäyttöoikeus (katso Tämä yksityiskohtia varten).
- Luokan nimi: Luokan nimen tulee alkaa alkukirjaimella, joka on kirjoitettu sopimuksen mukaan.
- Superluokka (jos sellainen on): Luokan vanhemman (superluokan) nimi, jos sellainen on, jota edeltää avainsana extends. Luokka voi laajentaa (alaluokkaa) vain yhtä vanhempaa.
- Liitännät (jos sellaisia on): Pilkuilla eroteltu luettelo luokan toteuttamista liitännöistä, jos sellaisia on ja jota edeltää avainsana implements. Luokka voi toteuttaa useamman kuin yhden käyttöliittymän.
- Runko: Luokan runkoa ympäröivät aaltosulut, { }.
Esine on olio-ohjelmoinnin perusyksikkö, joka edustaa tosielämän kokonaisuuksia. Tyypillinen Java-ohjelma luo monia objekteja, jotka, kuten tiedät, ovat vuorovaikutuksessa menetelmien avulla. Objektit suorittavat koodisi, ne ovat katsojalle/käyttäjälle näkyvä osa koodistasi. Objekti koostuu pääasiassa:
- Osavaltio : Sitä edustavat objektin attribuutit. Se heijastaa myös kohteen ominaisuuksia.
- Käyttäytyminen : Sitä edustavat objektin menetelmät. Se heijastaa myös kohteen reaktiota muihin esineisiin.
- Identiteetti : Se on objektille annettu yksilöllinen nimi, jonka avulla se voi olla vuorovaikutuksessa muiden objektien kanssa.
- Menetelmä : Metodi on kokoelma lauseita, jotka suorittavat tietyn tehtävän ja palauttavat tuloksen soittajalle. Menetelmä voi suorittaa tietyn tehtävän palauttamatta mitään. Menetelmät antavat meille mahdollisuuden uudelleenkäyttö koodia kirjoittamatta sitä uudelleen, minkä vuoksi ne otetaan huomioon ajansäästöjä . Javassa jokaisen menetelmän on oltava osa jotakin luokkaa, joka on erilainen kuin kielet, kuten C , C++ , ja Python .
luokka ja objektit yksi yksinkertainen Java-ohjelma:
Java public class GFG { static String Employee_name; static float Employee_salary; static void set(String n, float p) { Employee_name = n; Employee_salary = p; } static void get() { System.out.println('Employee name is: ' +Employee_name ); System.out.println('Employee CTC is: ' + Employee_salary); } public static void main(String args[]) { GFG.set('Rathod Avinash', 10000.0f); GFG.get(); } }> Lähtö
Employee name is: Rathod Avinash Employee CTC is: 10000.0>
Keskustellaan nyt OOP:n neljästä pilarista:
Pilari 1: Abstraktio
Data Abstraktio on ominaisuus, jonka kautta käyttäjälle näytetään vain olennaiset tiedot. Triviaaleja tai ei-välttämättömiä yksiköitä ei näytetä käyttäjälle. Esimerkki: Autoa pidetään autona eikä sen yksittäisinä komponentteina.
Tiedonabstraktio voidaan myös määritellä prosessiksi, jossa tunnistetaan vain kohteen vaaditut ominaisuudet, huomioimatta merkityksettömiä yksityiskohtia. Objektin ominaisuudet ja käyttäytyminen erottavat sen muista samantyyppisistä objekteista ja auttavat myös kohteen luokittelussa/ryhmittelyssä.
Harkitse tosielämän esimerkkiä miehestä, joka ajaa autoa. Mies tietää vain, että kaasupolkimien painaminen lisää auton nopeutta tai jarruttaminen pysäyttää auton, mutta hän ei tiedä kuinka kaasupoljinta painettaessa nopeus itse asiassa kasvaa. Hän ei tiedä auton sisämekanismista tai kaasupolkimien, jarrujen jne. toteutuksesta autossa. Tämä on sitä, mitä abstraktio on.
Javassa abstraktio saavutetaan käyttöliittymät ja abstrakteja luokat . Voimme saavuttaa 100 % abstraktion rajapintojen avulla.
Abstrakti menetelmä sisältää vain menetelmän määrittelyn, mutta ei toteutusta.
Abstraktiluokan esittely
Java //abstract class abstract class GFG{ //abstract methods declaration abstract void add(); abstract void mul(); abstract void div(); }> Pilari 2: Kapselointi
Se määritellään tietojen käämittämiseksi yhden yksikön alle. Se on mekanismi, joka sitoo yhteen koodin ja sen käsittelemän tiedon. Toinen tapa ajatella kapselointia on, että se on suojasuoja, joka estää koodin pääsyn dataan tämän suojan ulkopuolella.
- Teknisesti sisään kapselointi , luokan muuttujat tai tiedot ovat piilossa kaikilta muilta luokilta ja niitä voidaan käyttää vain minkä tahansa luokan jäsenfunktion kautta, jossa ne on ilmoitettu.
- Kapseloinnissa luokan tiedot piilotetaan muilta luokilta, mikä on samanlaista kuin mitä tietojen piilottaminen tekee. Joten termejä kapselointi ja tietojen piilottaminen käytetään vaihtokelpoisesti.
- Kapselointi voidaan saavuttaa ilmoittamalla kaikki luokan muuttujat yksityisiksi ja kirjoittamalla luokkaan julkisia menetelmiä muuttujien arvojen asettamiseksi ja saamiseksi.
Kapseloinnin esittely:
Java //Encapsulation using private modifier //Employee class contains private data called employee id and employee name class Employee { private int empid; private String ename; }> Pilari 3: Perintö
Perintö on OOP:n (Object Oriented Programming) tärkeä pilari. Se on Java-mekanismi, jolla yksi luokka saa periä toisen luokan ominaisuudet (kentät ja menetelmät). Saavutamme perinnön käyttämällä ulottuu avainsana. Perintö tunnetaan myös nimellä on suhdetta.
Keskustellaanpa joistakin usein käytetyistä tärkeistä terminologioista:
- Superluokka: Luokka, jonka ominaisuudet periytyvät, tunnetaan superluokkana (tunnetaan myös nimellä perus- tai yläluokka).
- Alaluokka: Luokka, joka perii toisen luokan, tunnetaan alaluokkana (tunnetaan myös nimellä johdettu tai laajennettu tai aliluokka). Alaluokka voi lisätä omia kenttiä ja menetelmiä superluokan kenttien ja menetelmien lisäksi.
- Uudelleenkäytettävyys: Periytys tukee uudelleenkäytettävyyden käsitettä, eli kun haluamme luoda uuden luokan ja on jo luokka, joka sisältää osan haluamastamme koodista, voimme johtaa uuden luokkamme olemassa olevasta luokasta. Näin toimimalla käytämme uudelleen olemassa olevan luokan kenttiä ja menetelmiä.
Perinnön osoitus:
Java //base class or parent class or super class class A{ //parent class methods void method1(){} void method2(){} } //derived class or child class or base class class B extends A{ //Inherits parent class methods //child class methods void method3(){} void method4(){} }> Pilari 4: Polymorfismi
Se viittaa olio-ohjelmointikielten kykyyn erottaa tehokkaasti samannimiset entiteetit. Java tekee tämän näiden entiteettien allekirjoituksen ja ilmoituksen avulla. Kyky esiintyä monissa muodoissa on ns polymorfismi .
Esim.
Java sleep(1000) //millis sleep(1000,2000) //millis,nanos>
Huomautus: Javan polymorfismi on pääasiassa kahta tyyppiä:
- Ylikuormitus
- Ohittava
Esimerkki
Java // Java program to Demonstrate Polymorphism // This class will contain // 3 methods with same name, // yet the program will // compile & run successfully public class Sum { // Overloaded sum(). // This sum takes two int parameters public int sum(int x, int y) { return (x + y); } // Overloaded sum(). // This sum takes three int parameters public int sum(int x, int y, int z) { return (x + y + z); } // Overloaded sum(). // This sum takes two double parameters public double sum(double x, double y) { return (x + y); } // Driver code public static void main(String args[]) { Sum s = new Sum(); System.out.println(s.sum(10, 20)); System.out.println(s.sum(10, 20, 30)); System.out.println(s.sum(10.5, 20.5)); } }> Lähtö
30 60 31.0>
Johtopäätös
Object Oriented Programming (OOPs) -konsepti Javassa on tehokas tapa järjestää ja kirjoittaa koodia. Se käyttää avainideoita, kuten luokkia, objekteja, periytymistä, polymorfismia, kapselointia ja abstraktiota joustavan ja uudelleen käytettävän koodin luomiseen. Java OOPs -konseptin avulla ohjelmoijat voivat rakentaa monimutkaisia sovelluksia tehokkaammin, jolloin koodin hallinta, ymmärtäminen ja muokkaaminen on helpompaa. Kaiken kaikkiaan Javan OOPs-konseptit auttavat luomaan kestäviä ja skaalautuvia ohjelmistoratkaisuja.
Object Oriented Programming (OOPs) -konsepti Javassa – FAQ
Mikä on OOPs-konsepti Javassa?
OOPs (Object-Oriented Programming) on olioiden käsitteeseen perustuva ohjelmointiparadigma, joka voi sisältää dataa kenttien (attribuuttien tai ominaisuuksien) muodossa ja koodia proseduurien (metodeja tai funktioita) muodossa. Javassa OOPs-käsitteet sisältävät kapseloinnin, periytymisen, polymorfismin ja abstraktion.
Miksi OOP:t ovat tärkeitä Javassa?
OOPs auttaa järjestämään ja jäsentämään koodia helpommin hallittavalla tavalla, mikä helpottaa Java-sovellusten ylläpitoa ja skaalausta. Se edistää myös koodin uudelleenkäytettävyyttä, modulaarisuutta ja joustavuutta, mikä johtaa tehokkaaseen ja kestävään ohjelmistokehitykseen.
Mitkä ovat OOP:n pääperiaatteet Javassa?
Javan OOP:n pääperiaatteet ovat kapselointi, periytyminen, polymorfismi ja abstraktio. Kapselointi varmistaa, että objektin sisäinen tila on piilotettu ja siihen pääsee käsiksi vain julkisilla menetelmillä. Periytys sallii yhden luokan periä ominaisuuksia ja käyttäytymistä toiselta. Polymorfismi mahdollistaa objektien käsittelemisen niiden emoluokan esiintyminä. Abstraktio keskittyy piilottamaan toteutustiedot ja näyttämään vain tarpeelliset tiedot ulkomaailmalle.
Kuinka OOPs on toteutettu Javassa?
Javassa OOP:t toteutetaan luokkien ja objektien kautta. Luokka toimii suunnitelmana luotaessa objekteja, jotka ovat kyseisen luokan esiintymiä. Jokaisella objektilla on omat attribuutit (muuttujat) ja menetelmät (funktiot). Seuraamalla OOP:n käsitteitä, kuten kapselointia, periytymistä, polymorfismia ja abstraktiota, Java-kehittäjät voivat suunnitella hyvin jäsenneltyä ja ylläpidettävää koodia.
Mitä etuja OOP:iden käyttämisestä Javassa on?
OOP:iden käytön etuja Javassa ovat koodin uudelleenkäytettävyys, modulaarisuus, joustavuus, skaalautuvuus ja helpompi ylläpito. OOP:n avulla kehittäjät voivat mallintaa reaalimaailman kokonaisuuksia objekteina, mikä johtaa intuitiivisempaan ja organisoidumpaan koodiin. Se tukee myös ominaisuuksia, kuten periytymistä ja polymorfismia, jotka parantavat Java-sovellusten laajennettavuutta ja luettavuutta.
Voitko antaa esimerkin OOPs-konseptin toteutuksesta Javassa?
Varma! Esimerkki OOPs-konseptin toteutuksesta Javassa on 'Car'-luokan luominen määritteillä 'make', 'model' ja 'year' sekä menetelmiä, kuten 'start()', 'accelerate()' ja 'stop'. ()'. Instantoimalla 'Car'-luokan objekteja ja kutsumalla sen menetelmiä voimme simuloida eri autoilmentymien käyttäytymistä jäsennellysti ja oliolähtöisesti.