După cum sugerează și numele, conceptul de programare orientată pe obiecte sau Java OOPs se referă la limbaje care folosesc obiecte în programare, ele folosesc obiecte ca sursă primară pentru a implementa ceea ce urmează să se întâmple în cod. Obiectele sunt văzute de către vizualizator sau utilizator, efectuând sarcini pe care le atribuiți.
Programarea orientată pe obiecte urmărește să implementeze entități din lumea reală, cum ar fi moștenirea, ascunderea, polimorfismul etc. În programare. Scopul principal al OOP este de a lega împreună datele și funcțiile care operează pe acestea, astfel încât nicio altă parte a codului să nu poată accesa aceste date, cu excepția acelei funcții.
Să discutăm despre cerințele prealabile prin lustruirea conceptelor de declarare a metodei și transmitere a mesajelor. Începând cu declarația metodei, aceasta constă din șase componente:
- Modificator de acces : Definește tip de acces a metodei, adică de unde poate fi accesată în aplicația dvs. În Java, există 4 tipuri de specificatori de acces:
- public: Accesibil în toate clasele din aplicația dvs.
- protejat: Accesibil în cadrul pachetului în care este definit și în cadrul acestuia subclase (inclusiv subclase declarate în afara pachetului) .
- privat: Accesibil numai în cadrul clasei în care este definit.
- implicit (declarat/definit fără a utiliza niciun modificator): Accesibil în cadrul aceleiași clase și pachet în care este definită clasa sa.
- Tipul de returnare : Tipul de date al valorii returnate de metodă sau void dacă nu returnează o valoare.
- Numele metodei : Regulile pentru numele câmpurilor se aplică și numelor de metode, dar convenția este puțin diferită.
- Lista parametrilor : listă separată prin virgulă a parametrilor de intrare care sunt definiți, precedată de tipul lor de date, în parantezele incluse. Dacă nu există parametri, trebuie să utilizați paranteze goale ().
- Lista excepțiilor : Excepțiile pe care vă așteptați să le arunce metoda. Puteți specifica aceste excepții.
- Corpul metodei : este blocul de cod, cuprins între acolade, pe care trebuie să-l executați pentru a efectua operațiunile dorite.
Trecere mesaj : Obiectele comunică unele cu altele prin trimiterea și primirea de informații unele către altele. Un mesaj pentru un obiect este o solicitare de executare a unei proceduri și, prin urmare, va invoca o funcție din obiectul receptor care generează rezultatele dorite. Transmiterea mesajului presupune specificarea numelui obiectului, a numelui funcției și a informațiilor de trimis.
Master OOP în Java Scrieți cod Java mai curat, mai modular și reutilizabil, construind o bază în programarea orientată pe obiecte cu cursul interactiv Educative Învățați Programare orientată pe obiecte în Java . Înscrie-te la Educative.io cu codul GEEKS10 pentru a economisi 10% la abonament.
Acum că am acoperit cerințele preliminare de bază, vom trece la cei 4 piloni ai POO, care sunt după cum urmează. Dar, să începem prin a afla despre diferitele caracteristici ale unui limbaj de programare orientat pe obiecte.
Conceptele OOPS sunt după cum urmează:
- Clasă
- Obiect
- Metodă și trecerea metodei
- Pilonii OOP
- Abstracția
- Încapsulare
- Moştenire
- Polimorfism
- Polimorfism în timp de compilare
- Polimorfismul de rulare

A clasă este un model definit de utilizator sau un prototip din care sunt create obiecte. Reprezintă setul de proprietăți sau metode care sunt comune tuturor obiectelor de un singur tip. Folosind clase, puteți crea mai multe obiecte cu același comportament în loc să le scrieți codul de mai multe ori. Aceasta include clase pentru obiectele care apar de mai multe ori în codul dvs. În general, declarațiile de clasă pot include aceste componente în ordine:
- Modificatori : O clasă poate fi publică sau poate avea acces implicit (Consultați acest pentru detalii).
- Numele clasei: Numele clasei trebuie să înceapă cu litera inițială scrisă cu majuscule prin convenție.
- Superclasă (dacă există): Numele părintelui clasei (superclasa), dacă există, precedat de cuvântul cheie extinde. O clasă poate extinde (subclasă) doar un părinte.
- Interfețe (dacă există): O listă separată prin virgulă de interfețe implementate de clasă, dacă există, precedată de cuvântul cheie implements. O clasă poate implementa mai mult de o interfață.
- Corp: Corpul clasei este înconjurat de acolade, { }.
Un obiect este o unitate de bază a programării orientate pe obiecte care reprezintă entități din viața reală. Un program tipic Java creează multe obiecte, care, după cum știți, interacționează prin invocarea unor metode. Obiectele sunt cele care execută codul dvs., sunt partea din cod vizibilă pentru vizualizator/utilizator. Un obiect constă în principal din:
- Stat : Este reprezentat de atributele unui obiect. De asemenea, reflectă proprietățile unui obiect.
- Comportament : Este reprezentat prin metodele unui obiect. De asemenea, reflectă răspunsul unui obiect la alte obiecte.
- Identitate : Este un nume unic dat unui obiect care îi permite să interacționeze cu alte obiecte.
- Metodă : O metodă este o colecție de instrucțiuni care efectuează o anumită sarcină și returnează rezultatul apelantului. O metodă poate îndeplini o anumită sarcină fără a returna nimic. Metodele ne permit reutilizare codul fără a-l tasta din nou, motiv pentru care sunt luate în considerare economisitori de timp . În Java, fiecare metodă trebuie să facă parte dintr-o clasă, care este diferită de limbaje precum C , C++ , și Piton .
clasă și obiecte un program java simplu:
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(); } }> Ieșire
Employee name is: Rathod Avinash Employee CTC is: 10000.0>
Să discutăm acum cei 4 piloni ai POO:
testarea software-ului
Pilonul 1: Abstracția
Date Abstracția este proprietatea în virtutea căreia doar detaliile esențiale sunt afișate utilizatorului. Unitățile triviale sau neesențiale nu sunt afișate utilizatorului. De exemplu: o mașină este privită mai degrabă ca o mașină decât ca componentele sale individuale.
Abstracția datelor poate fi definită și ca procesul de identificare doar a caracteristicilor necesare ale unui obiect, ignorând detaliile irelevante. Proprietățile și comportamentele unui obiect îl diferențiază de alte obiecte de tip similar și, de asemenea, ajută la clasificarea/gruparea obiectului.
Luați în considerare un exemplu din viața reală a unui bărbat care conduce o mașină. Bărbatul știe doar că apăsarea accelerației va crește viteza mașinii sau aplicarea frânelor va opri mașina, dar nu știe cum la apăsarea accelerației, viteza de fapt crește. El nu știe despre mecanismul interior al mașinii sau implementarea acceleratoarelor, frânelor etc. în mașină. Aceasta este abstractizarea.
În Java, abstracția se realizează prin interfețe și clase abstracte . Putem obține o abstractizare 100% folosind interfețe.
Metoda abstractă conține doar declararea metodei, dar nu și implementarea.
Demonstrarea clasei Abstracte
Java //abstract class abstract class GFG{ //abstract methods declaration abstract void add(); abstract void mul(); abstract void div(); }> Pilonul 2: Încapsulare
Este definită ca împachetarea datelor într-o singură unitate. Este mecanismul care leagă împreună codul și datele pe care le manipulează. Un alt mod de a ne gândi la încapsulare este că este un scut de protecție care împiedică accesarea datelor de către codul din afara acestui scut.
- Tehnic, în încapsulare , variabilele sau datele dintr-o clasă sunt ascunse de orice altă clasă și pot fi accesate numai prin orice funcție membru a clasei în care sunt declarate.
- În încapsulare, datele dintr-o clasă sunt ascunse de alte clase, ceea ce este similar cu ceea ce ascunderea datelor face. Deci, termenii încapsulare și ascundere a datelor sunt folosiți interschimbabil.
- Încapsularea poate fi realizată prin declararea tuturor variabilelor dintr-o clasă ca private și prin scrierea unor metode publice în clasă pentru a seta și obține valorile variabilelor.
Demonstrarea încapsulării:
Java //Encapsulation using private modifier //Employee class contains private data called employee id and employee name class Employee { private int empid; private String ename; }> Pilonul 3: Moştenire
Moştenire este un pilon important al OOP (Programare Orientată pe Obiect). Este mecanismul din Java prin care unei clase i se permite să moștenească caracteristicile (câmpurile și metodele) unei alte clase. Obținem moștenire prin folosire se extinde cuvânt cheie. Moștenirea este cunoscută și ca este-a relaţie.
Să discutăm câteva terminologii importante utilizate frecvent:
- Superclasa: Clasa ale cărei caracteristici sunt moștenite este cunoscută ca superclasă (cunoscută și ca clasă de bază sau părinte).
- Subclasă: Clasa care moștenește cealaltă clasă este cunoscută ca subclasă (cunoscută și ca clasă derivată sau extinsă sau copil). Subclasa își poate adăuga propriile câmpuri și metode în plus față de câmpurile și metodele superclasei.
- Reutilizabilitate: Moștenirea acceptă conceptul de reutilizare, adică atunci când dorim să creăm o clasă nouă și există deja o clasă care include o parte din codul pe care îl dorim, putem deriva noua noastră clasă din clasa existentă. Făcând acest lucru, reutilizam câmpurile și metodele clasei existente.
Demonstrație de moștenire:
metoda java tostringJava
//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(){} }> Pilonul 4: Polimorfism
Se referă la capacitatea limbajelor de programare orientate pe obiecte de a diferenția eficient între entitățile cu același nume. Acest lucru este realizat de Java cu ajutorul semnăturii și declarației acestor entități. Abilitatea de a apărea sub mai multe forme este numită polimorfism .
De exemplu.
Java sleep(1000) //millis sleep(1000,2000) //millis,nanos>
Notă: Polimorfismul în Java este în principal de 2 tipuri:
- Supraîncărcare
- Depășirea
Exemplu
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)); } }> Ieșire
30 60 31.0>
Concluzie
Conceptul de programare orientată pe obiecte (OOP) din Java este o modalitate puternică de organizare și scriere a codului. Folosește idei cheie precum clase, obiecte, moștenire, polimorfism, încapsulare și abstractizare pentru a crea cod flexibil și reutilizabil. Folosind conceptul Java OOPs, programatorii pot construi aplicații complexe mai eficient, făcând codul mai ușor de gestionat, înțeles și modificat. În general, conceptele OOP ale Java ajută la crearea de soluții software robuste și scalabile.
Conceptul de programare orientată pe obiecte (POO) în Java – Întrebări frecvente
Ce este conceptul OOP în Java?
OOPs (Object-Oriented Programming) este o paradigmă de programare bazată pe conceptul de obiecte, care poate conține date sub formă de câmpuri (atribute sau proprietăți) și cod sub formă de proceduri (metode sau funcții). În Java, conceptele OOP includ încapsularea, moștenirea, polimorfismul și abstracția.
De ce sunt importante POO-urile în Java?
OOP-urile ajută la organizarea și structurarea codului într-un mod mai ușor de gestionat, facilitând întreținerea și scalarea aplicațiilor Java. De asemenea, promovează reutilizarea codului, modularitatea și flexibilitatea, ceea ce duce la o dezvoltare de software eficientă și robustă.
Care sunt principiile principale ale POO în Java?
Principiile principale ale POO în Java sunt încapsularea, moștenirea, polimorfismul și abstracția. Încapsularea asigură că starea internă a unui obiect este ascunsă și poate fi accesată numai prin metode publice. Moștenirea permite unei clase să moștenească proprietăți și comportament de la alta. Polimorfismul permite ca obiectele să fie tratate ca instanțe ale clasei lor părinte. Abstracția se concentrează pe ascunderea detaliilor implementării și pe afișarea lumii exterioare numai a informațiilor necesare.
Cum sunt implementate OOP-urile în Java?
În Java, OOP-urile sunt implementate prin clase și obiecte. O clasă servește ca model pentru crearea obiectelor, care sunt instanțe ale acelei clase. Fiecare obiect are propriul său set de atribute (variabile) și metode (funcții). Urmând concepte OOP cum ar fi încapsularea, moștenirea, polimorfismul și abstracția, dezvoltatorii Java pot crea cod bine structurat și care poate fi întreținut.
Care sunt avantajele utilizării OOP-urilor în Java?
Unele avantaje ale utilizării POO în Java includ reutilizarea codului, modularitatea, flexibilitatea, scalabilitatea și întreținerea mai ușoară. OOP-urile le permit dezvoltatorilor să modeleze entități din lumea reală ca obiecte, ceea ce duce la un cod mai intuitiv și organizat. De asemenea, acceptă funcții precum moștenirea și polimorfismul, care sporesc extensibilitatea și lizibilitatea aplicațiilor Java.
Puteți oferi un exemplu de implementare a conceptului OOP în Java?
Sigur! Un exemplu de implementare a conceptului OOP în Java este crearea unei clase „Mașină” cu atribute precum „make”, „model” și „an”, împreună cu metode precum „start()”, „accelerate()” și „stop”. ()'. Instanțiând obiecte din clasa „Mașină” și apelând metodele acesteia, putem simula comportamentul diferitelor instanțe de mașină într-o manieră structurată și orientată pe obiecte.