Objektinio programavimo (OOP) koncepcija Java

Kaip rodo pavadinimas, Objektinis programavimas arba Java OOP sąvoka reiškia kalbas, kurios naudoja objektus programuojant, jos naudoja objektus kaip pirminį šaltinį, kad įgyvendintų tai, kas turi įvykti kode. Objektus mato žiūrovas arba vartotojas, atlikdamas jūsų priskirtas užduotis.

Objektiniu programavimu siekiama įgyvendinti realaus pasaulio esybes, tokias kaip paveldėjimas, slėpimas, polimorfizmas ir kt. Programavime. Pagrindinis OOP tikslas yra sujungti duomenis ir su jais veikiančias funkcijas, kad jokia kita kodo dalis negalėtų pasiekti šių duomenų, išskyrus tą funkciją.

Aptarkime būtinas sąlygas, nušlifuodami metodo deklaravimo ir pranešimų perdavimo sąvokas. Pradedant nuo metodo deklaracijos, ją sudaro šeši komponentai:

  • Prieigos modifikatorius : apibrėžia prieigos tipas metodo, t. y. iš kur jį galima pasiekti programoje. „Java“ yra 4 prieigos specifikacijų tipai:
    • viešas: Prieinama visose jūsų programos klasėse.
    • apsaugotas: Prieinamas pakete, kuriame jis apibrėžtas, ir jo viduje poklasis (-iai) (įskaitant poklasius, deklaruotus už paketo ribų) .
    • privatus: Prieinama tik toje klasėje, kurioje ji apibrėžta.
    • numatytasis (deklaruojamas / apibrėžtas nenaudojant modifikatoriaus): Prieinama toje pačioje klasėje ir pakete, kuriame apibrėžta jo klasė.
  • Grąžinimo tipas : metodo grąžintos reikšmės duomenų tipas arba galia, jei jis nepateikia reikšmės.
  • Metodo pavadinimas : Laukų pavadinimų taisyklės taip pat taikomos metodų pavadinimams, tačiau taisyklės šiek tiek skiriasi.
  • Parametrų sąrašas : kableliais atskirtų įvesties parametrų sąrašas, prieš kurį nurodomas jų duomenų tipas, skliausteliuose. Jei parametrų nėra, turite naudoti tuščius skliaustus ().
  • Išimčių sąrašas : Išimtys, kurias tikitės iš metodo. Galite nurodyti šią išimtį (-es).
  • Metodo korpusas : tai kodo blokas, esantis tarp skliaustų, kurį turite vykdyti, kad atliktumėte numatytas operacijas.

Pranešimas perduodamas : Objektai bendrauja vienas su kitu siųsdami ir gaudami informaciją vienas kitam. Objekto pranešimas yra užklausa atlikti procedūrą, todėl iškvies funkciją priimančiame objekte, kuri generuoja norimus rezultatus. Pranešimo perdavimas apima objekto pavadinimo, funkcijos pavadinimo ir siunčiamos informacijos nurodymą.

Master OOP Java Rašykite švaresnį, moduliškesnį ir daugkartinį „Java“ kodą, sukurdami objektinio programavimo pagrindus su „Educative“ interaktyviu kursu „Sužinokite“ Objektinis programavimas Java . Prisiregistruokite Educative.io naudodami kodą GEEKS10 sutaupyti 10% prenumeratos.

Dabar, kai aptarėme pagrindines sąlygas, pereisime prie 4 OOP ramsčių, kurie yra tokie. Tačiau pradėkime nuo skirtingų objektinės programavimo kalbos savybių.

OOPS sąvokos yra tokios:

  1. Klasė
  2. Objektas
  3. Metodas ir metodo perdavimas
  4. OOP ramsčiai
    • Abstrakcija
    • Inkapsuliavimas
    • Paveldėjimas
    • Polimorfizmas
      • Kompiliavimo laiko polimorfizmas
      • Vykdymo laiko polimorfizmas

A klasė yra vartotojo apibrėžtas projektas arba prototipas, iš kurio kuriami objektai. Tai reiškia ypatybių arba metodų, bendrų visiems vieno tipo objektams, rinkinį. Naudodami klases galite sukurti kelis objektus, kurių elgesys yra toks pat, o ne kelis kartus rašyti jų kodą. Tai apima klases objektams, kurie jūsų kode pasitaiko daugiau nei vieną kartą. Paprastai klasių deklaracijos gali apimti šiuos komponentus tokia tvarka:

  1. Modifikatoriai : klasė gali būti vieša arba turėti numatytąją prieigą (žr tai Norėdami gauti daugiau informacijos).
  2. Klasės pavadinimas: Klasės pavadinimas turėtų prasidėti pradine didžiąja raide pagal susitarimą.
  3. Superklasė (jei yra): Klasės pirminės klasės pavadinimas (superklasė), jei toks yra, prieš raktinį žodį Extens. Klasė gali išplėsti (poklasį) tik vieną iš tėvų.
  4. Sąsajos (jei yra): Kableliais atskirtas klasės įdiegtų sąsajų sąrašas, jei yra, prieš kurį rašomas raktinis žodis implements. Klasė gali įdiegti daugiau nei vieną sąsają.
  5. Kūnas: Klasės korpusas yra apsuptas petnešomis, { }.

Objektas yra pagrindinis objektinio programavimo vienetas, vaizduojantis realaus gyvenimo esybes. Įprasta Java programa sukuria daugybę objektų, kurie, kaip žinote, sąveikauja pasitelkdami metodus. Objektai yra tai, kas atlieka jūsų kodą, jie yra jūsų kodo dalis, matoma žiūrinčiajam / vartotojui. Objektą daugiausia sudaro:

  1. valstybė : jį pavaizduoja objekto atributai. Tai taip pat atspindi objekto savybes.
  2. Elgesys : Jis vaizduojamas objekto metodais. Tai taip pat atspindi objekto reakciją į kitus objektus.
  3. Tapatybė : Tai unikalus objekto pavadinimas, leidžiantis jam sąveikauti su kitais objektais.
  4. Metodas : Metodas – tai rinkinys teiginių, kurie atlieka tam tikrą konkrečią užduotį ir grąžina rezultatą skambinančiajam. Metodas gali atlikti tam tikrą užduotį nieko negrąžindamas. Metodai mums leidžia pakartotinai naudoti kodą jo neįvesdami iš naujo, todėl jie yra svarstomi laiko taupymo . „Java“ programoje kiekvienas metodas turi būti tam tikros klasės dalis, kuri skiriasi nuo kitų kalbų C , C++ , ir Python .

klasė ir objektai viena paprasta java programa:

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();  } } 

Išvestis
Employee name is: Rathod Avinash Employee CTC is: 10000.0 

Dabar aptarkime 4 OOP ramsčius:

1 ramstis: Abstrakcija

Duomenys Abstrakcija yra nuosavybė, kurios dėka vartotojui rodoma tik esminė informacija. Nereikšmingi ar neesminiai vienetai vartotojui nerodomi. Pvz.: į automobilį žiūrima kaip į automobilį, o ne į atskirus jo komponentus.
Duomenų abstrakcija taip pat gali būti apibrėžiama kaip procesas, kurio metu nustatomos tik reikalingos objekto savybės, ignoruojant nereikšmingas detales. Objekto savybės ir elgsena išskiria jį iš kitų panašaus tipo objektų, taip pat padeda klasifikuoti/grupuoti objektą.

Apsvarstykite realų pavyzdį, kai vyras vairuoja automobilį. Vyriškis žino tik tiek, kad paspaudus akceleratorių padidės automobilio greitis arba nuspaudus stabdžius mašina stabdoma, bet kaip paspaudus akceleratorių greitis iš tiesų didėja, nežino. Nežino nei apie automobilio vidinį mechanizmą, nei apie akceleratorių, stabdžių ir pan. įrengimą automobilyje. Štai kas yra abstrakcija.

Java programoje abstrakcija pasiekiama naudojant sąsajos ir abstrakčios klasės . Naudodami sąsajas galime pasiekti 100% abstrakciją.

Abstraktus metodas apima tik metodo deklaravimą, bet ne įgyvendinimą.

Abstrakčios klasės demonstravimas

Java
//abstract class abstract class GFG{  //abstract methods declaration  abstract void add();  abstract void mul();  abstract void div(); } 

2 ramstis: Inkapsuliavimas

Tai apibrėžiama kaip duomenų sujungimas į vieną vienetą. Tai mechanizmas, kuris sujungia kodą ir duomenis, kuriais jis manipuliuoja. Kitas būdas galvoti apie inkapsuliavimą yra tai, kad tai yra apsauginis skydas, kuris neleidžia pasiekti duomenų kodui už šio skydo ribų.

  • Techniškai, viduje inkapsuliavimas , kintamieji arba duomenys klasėje yra paslėpti nuo bet kurios kitos klasės ir gali būti pasiekiami tik per bet kurią klasės, kurioje jie deklaruoti, nario funkciją.
  • Inkapsuliuojant klasės duomenys yra paslėpti nuo kitų klasių, o tai yra panašu į ką duomenų slėpimas daro. Taigi terminai inkapsuliavimas ir duomenų slėpimas vartojami pakaitomis.
  • Inkapsuliavimą galima pasiekti deklaruojant visus klasės kintamuosius kaip privačius ir klasėje įrašant viešuosius metodus, kad būtų galima nustatyti ir gauti kintamųjų reikšmes.

Inkapsuliavimo demonstravimas:

Java
//Encapsulation using private modifier  //Employee class contains private data called employee id and employee name class Employee {  private int empid;  private String ename; } 

3 ramstis: Paveldėjimas

Paveldėjimas yra svarbus OOP (Object Oriented Programming) ramstis. Tai yra Java mechanizmas, pagal kurį vienai klasei leidžiama paveldėti kitos klasės ypatybes (laukus ir metodus). Mes pasiekiame paveldėjimą naudodami tęsiasi raktažodį. Paveldėjimas taip pat žinomas kaip yra santykiai.

Aptarkime keletą dažnai vartojamų svarbių terminų:

  • Superklasė: Klasė, kurios savybės yra paveldimos, vadinama superklase (taip pat žinoma kaip bazinė arba pagrindinė klasė).
  • Poklasis: Klasė, kuri paveldi kitą klasę, yra žinoma kaip poklasis (taip pat žinomas kaip išvestinė arba išplėstinė arba antrinė klasė). Poklasis gali pridėti savo laukus ir metodus, be aukščiausios klasės laukų ir metodų.
  • Pakartotinis naudojimas: Paveldėjimas palaiko pakartotinio naudojimo koncepciją, t. y. kai norime sukurti naują klasę ir jau yra klasė, apimanti tam tikrą kodą, kurio mes norime, galime sukurti naują klasę iš esamos klasės. Tai darydami mes pakartotinai naudojame esamos klasės laukus ir metodus.

Paveldėjimo įrodymas:

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(){} } 

4 ramstis: Polimorfizmas

Tai reiškia objektinių programavimo kalbų gebėjimą efektyviai atskirti tuos pačius pavadinimus turinčius objektus. Tai atlieka Java, naudodama šių objektų parašą ir deklaraciją. Gebėjimas pasirodyti įvairiomis formomis vadinamas polimorfizmas .

Pvz.

Java
sleep(1000) //millis sleep(1000,2000) //millis,nanos 

Pastaba: „Java“ polimorfizmas daugiausia yra dviejų tipų:

  1. Perkrovimas
  2. Nepaisymas

Pavyzdys

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));  } } 

Išvestis
30 60 31.0 

Išvada

Objektinio programavimo (OOP) koncepcija Java yra galingas būdas tvarkyti ir rašyti kodą. Jame naudojamos pagrindinės idėjos, pvz., klasės, objektai, paveldėjimas, polimorfizmas, inkapsuliavimas ir abstrakcija, kad būtų sukurtas lankstus ir daugkartinis kodas. Naudodami Java OOP koncepciją, programuotojai gali efektyviau kurti sudėtingas programas, todėl kodą lengviau valdyti, suprasti ir modifikuoti. Apskritai, „Java“ OOP koncepcijos padeda kurti patikimus ir keičiamo dydžio programinės įrangos sprendimus.

Objektinio programavimo (OOP) koncepcija Java – DUK

Kas yra OOP sąvoka Java?

OOPs (Object-Oriented Programming) yra programavimo paradigma, pagrįsta objektų samprata, kurioje gali būti duomenų laukų (atributų arba savybių) ir kodo procedūrų (metodų ar funkcijų) pavidalu. Java programoje OOP sąvokos apima inkapsuliavimą, paveldėjimą, polimorfizmą ir abstrakciją.

Kodėl OOP yra svarbus Java?

OOP padeda lengviau tvarkyti ir struktūrizuoti kodą, todėl lengviau prižiūrėti ir keisti Java programas. Taip pat skatinamas kodo pakartotinis naudojimas, moduliškumas ir lankstumas, todėl programinės įrangos kūrimas yra efektyvus ir patikimas.

Kokie yra pagrindiniai „Java“ OOP principai?

Pagrindiniai „Java“ OOP principai yra inkapsuliavimas, paveldėjimas, polimorfizmas ir abstrakcija. Inkapsuliavimas užtikrina, kad vidinė objekto būsena yra paslėpta ir pasiekiama tik viešaisiais metodais. Paveldėjimas leidžia vienai klasei paveldėti savybes ir elgesį iš kitos. Polimorfizmas leidžia objektus traktuoti kaip jų pirminės klasės egzempliorius. Abstrakcija sutelkia dėmesį į įgyvendinimo detalių slėpimą ir tik būtinos informacijos rodymą išoriniam pasauliui.

Kaip OOP yra įdiegtas Java?

„Java“ programoje OOP įgyvendinama per klases ir objektus. Klasė naudojama kaip planas kuriant objektus, kurie yra tos klasės egzemplioriai. Kiekvienas objektas turi savo atributų (kintamųjų) ir metodų (funkcijų) rinkinį. Vadovaudamiesi OOP sąvokomis, tokiomis kaip inkapsuliavimas, paveldėjimas, polimorfizmas ir abstrakcija, „Java“ kūrėjai gali sukurti gerai struktūrizuotą ir prižiūrimą kodą.

Kokie yra OOP naudojimo Java programoje pranašumai?

Kai kurie „Java“ OOP naudojimo pranašumai apima kodo pakartotinį naudojimą, moduliškumą, lankstumą, mastelį ir lengvesnę priežiūrą. OOP leidžia kūrėjams modeliuoti realaus pasaulio objektus kaip objektus, todėl kodas yra intuityvesnis ir organizuotesnis. Ji taip pat palaiko tokias funkcijas kaip paveldėjimas ir polimorfizmas, kurios pagerina „Java“ programų išplėtimą ir skaitomumą.

Ar galite pateikti OOP koncepcijos įgyvendinimo pavyzdį Java?

Žinoma! OOP koncepcijos įgyvendinimo Java programoje pavyzdys yra „Car“ klasės su tokiais atributais kaip „make“, „model“ ir „year“ sukūrimas kartu su metodais, tokiais kaip „start()“, „accelerate()“ ir „stop“. ()“. Sukūrę objektus iš klasės „Automobilis“ ir iškviesdami jos metodus, galime modeliuoti skirtingų automobilių egzempliorių elgesį struktūriškai ir į objektus.