Welcome to Our Website

Concepte OOPs în Java

sistem de programare orientat pe obiecte(Oops) este o paradigmă de programare bazată pe conceptul de „obiecte” care conțin date și metode. Scopul principal al programării orientate pe obiecte este de a crește flexibilitatea și mentenabilitatea programelor. Programarea orientată pe obiecte reunește datele și comportamentul lor(metode) într-o singură locație (obiect) face mai ușor de înțeles cum funcționează un program. Vom acoperi fiecare caracteristică a OOPs în detaliu, astfel încât să nu vă confruntați cu dificultăți în înțelegerea conceptelor OOPs.,

OOPs Concepte – Cuprins

  1. Ce este un Obiect
  2. Ce este o clasa
  3. Constructor în Java
  4. Programare Orientată pe Obiecte Caracteristici
    • Abstractizare
    • Încapsulare
    • Moștenire
    • Polimorfism
  5. Clasă Abstractă și Metode
  6. Interfețe în Java

Ce este un Obiect


Obiect: este un pachet de date și comportamentul său(de multe ori cunoscut sub numele de metode).obiectele au două caracteristici: au stări și comportamente.,exemplu 1:
obiect: casă
stare: adresă, culoare, zonă
comportament: ușă deschisă, ușă închisă

deci, dacă ar trebui să scriu o clasă bazată pe stări și comportamente ale casei. Pot să o fac astfel: stările pot fi reprezentate ca variabile de instanță și comportamente ca metode ale clasei. Vom vedea cum să creați clase în următoarea secțiune a acestui ghid.

class House { String address; String color; double are; void openDoor() { //Write code here } void closeDoor() { //Write code here } ... ...}

notă: așa cum am văzut mai sus, stările și comportamentele unui obiect, pot fi reprezentate de variabile și metode în clasă, respectiv.,

caracteristicile obiectelor:

Dacă vă este greu să înțelegeți abstractizarea și încapsularea, nu vă faceți griji, deoarece am abordat aceste subiecte în detaliu cu exemple în următoarea secțiune a acestui ghid.

  1. abstractizare
  2. încapsulare
  3. mesaj care trece

abstractizare: abstractizare este un proces în cazul în care vă arată doar date „relevante” și „ascunde” detalii inutile ale unui obiect de la utilizator.

încapsulare: încapsulare înseamnă pur și simplu legarea obiect de stat(câmpuri) și comportament(metode) împreună. Dacă creați clasă, faceți încapsulare.,

mesaj care trece
un singur obiect de la sine nu poate fi foarte util. O aplicație conține multe obiecte. Un obiect interacționează cu un alt obiect prin invocarea metodelor pe acel obiect. Este, de asemenea, menționată ca metoda invocarea. Vezi diagrama de mai jos.

ce este o clasă în conceptele OOPs

o clasă poate fi considerată ca un plan folosind care puteți crea cât mai multe obiecte doriți. De exemplu, aici avem o clasă Website care are doi membri de date (cunoscuți și ca câmpuri, variabile de instanță și stări de obiect)., Acesta este doar un plan, nu reprezintă niciun site web, cu toate acestea, folosind acest lucru, putem crea obiecte de site (sau instanțe) care reprezintă site-urile web. Am creat două obiecte, în timp ce crearea de obiecte am furnizat proprietăți separate pentru obiectele folosind constructor.

Output:

beginnersbook 5google 18

ce este un Constructor

Constructorul arată ca o metodă, dar nu este de fapt o metodă. Numele este același cu numele clasei și nu returnează nicio valoare., Trebuie să fi văzut această declarație în aproape toate programele pe care le-am împărtășit de mai sus:

MyClass obj = new MyClass();

Dacă vă uitați în partea dreaptă a acestei declarații, chemăm constructorul implicit al clasei myClass pentru a crea un nou obiect (sau instanță).de asemenea, putem avea parametri în constructor, astfel de constructori sunt cunoscuți ca Constructori parametrizați.,

Exemplu de constructor

Ieșire:

Chaitanya 30Steve 56

Programare Orientată pe Obiecte caracteristici


Aceste patru caracteristici sunt principalele OOPs Concepte pe care trebuie să învețe să înțeleagă Programare Orientată Obiect în Java

Abstractizare

Abstractizare este un proces în cazul în care vă arată doar „relevante” de date și „ascunde” detalii inutile a unui obiect de la utilizator., De exemplu, atunci când vă conectați la contul dvs. bancar online, introduceți user_id și parola și apăsați login, ce se întâmplă atunci când apăsați login, modul în care datele de intrare trimise la server, cum se verifică este abstractizat departe de tine. Citiți mai multe despre aceasta aici: abstractizare în Java.

încapsularea

încapsularea înseamnă pur și simplu legarea stării obiectului(câmpurilor) și a comportamentului(metodelor) împreună. Dacă creați clasă, faceți încapsulare.,

exemplu de încapsulare în Java

cum să
1) Faceți variabilele de instanță private, astfel încât acestea să nu poată fi accesate direct din afara clasei. Puteți seta și obține valori ale acestor variabile numai prin metodele clasei.
2) au getter și setter metode în clasa pentru a seta și de a obține valorile câmpurilor.

Ieșire:

No Of Employees: 5613

clasa EncapsulationExample care se folosește de Obiect din clasa EmployeeCount nu va putea pentru a obține NoOfEmployees direct., Trebuie să utilizeze metodele setter și getter din aceeași clasă pentru a seta și a obține valoarea.
deci, care este beneficiul încapsulării în programarea java
ei bine, la un moment dat, dacă doriți să schimbați detaliile de implementare ale clasei EmployeeCount, puteți face acest lucru în mod liber, fără a afecta clasele care o folosesc.procesul prin care o clasă dobândește proprietățile și funcționalitățile unei alte clase se numește moștenire., Moștenirea oferă ideea de reutilizare a codului și fiecare sub-clasă definește numai acele caracteristici care sunt unice pentru acesta, restul caracteristicilor pot fi moștenite de la clasa părinte.moștenirea este un proces de definire a unei noi clase pe baza unei clase existente prin extinderea membrilor și metodelor comune de date.

  • moștenirea ne permite reutilizarea codului, îmbunătățește reutilizarea în aplicația java.
  • clasa părinte se numește clasa de bază sau clasa super. Clasa copil care extinde clasa de bază se numește clasa derivată sau subclasa sau clasa copil.,Notă: cel mai mare avantaj al moștenirii este că codul din clasa de bază nu trebuie rescris în clasa copil.
    variabilele și metodele clasei de bază pot fi utilizate și în clasa copil.

    sintaxă: moștenire în Java

    pentru a moșteni o clasă pe care o folosim extinde cuvântul cheie. Aici clasa A este clasa copilului și clasa B este clasa părinte.

    class A extends B{}

    Moștenire Exemplu

    În acest exemplu, avem o clasă părinte Teacher si un copil de clasa MathTeacher., În clasa MathTeacher nu trebuie să scriem același cod care este deja prezent în clasa prezentă. Aici avem de colegiu numele, denumirea și() metodă, care este comună pentru toate cadrele didactice, astfel MathTeacher clasa nu are nevoie pentru a scrie acest cod, de date comune membrilor și metode pot moștenit de la Teacher clasa.,

    Ieșire:

    BeginnersbookTeacherMathsTeaching

    Notă: Multi-nivel de moștenire este permis in Java, dar nu moștenirea multiplă

    Tipuri de Moștenire:
    Singură Moștenire: se referă la un copil și părinte clasa relație în care o clasă extinde o altă clasă.moștenirea pe Mai multe niveluri: se referă la o relație de clasă copil și părinte în care o clasă extinde clasa copil. De exemplu, clasa a extinde clasa B și clasa B extinde clasa C.,moștenirea ierarhică: se referă la o relație de clasă copil și părinte în care mai multe clase extind aceeași clasă. De exemplu, clasa B extinde clasa A și clasa C extinde clasa A.

    moștenire multiplă: se referă la conceptul unei clase care extinde mai multe clase, ceea ce înseamnă că o clasă copil are două clase părinte. Java nu acceptă moștenire multiplă, citiți mai multe despre aceasta aici.

    majoritatea noilor limbi OO precum Small Talk, Java, C# nu acceptă moștenire multiplă. Moștenirea multiplă este acceptată în c++.,

    polimorfismul

    polimorfismul este o caracteristică de programare orientată pe obiect care ne permite să efectuăm o singură acțiune în moduri diferite. De exemplu, să spunem că avem o clasă Animal care are o metoda animalSound(), aici nu putem da în aplicare la această metodă deoarece nu știm care clasa Animal ar extinde Animal clasa., Deci, vom face această metodă abstractă de genul asta:

    public abstract class Animal{ ... public abstract void animalSound();}

    Acum, să presupunem că avem două clase de Animale Dog și Lion care se extinde Animal clasa. Putem oferi detaliile de implementare acolo.

    public class Lion extends Animal{... @Override public void animalSound(){ System.out.println("Roar"); }}

    și

    public class Dog extends Animal{... @Override public void animalSound(){ System.out.println("Woof"); }}

    după Cum puteți vedea că, deși am avut o acțiune comună pentru toate subclasele animalSound() dar au moduri diferite de a face aceeași acțiune., Acesta este un exemplu perfect de polimorfism (caracteristică care ne permite să efectuăm o singură acțiune în moduri diferite).

    tipuri de polimorfism
    1) polimorfismul Static
    2) polimorfismul dinamic

    polimorfismul Static:

    polimorfismul care este rezolvat în timpul compilatorului este cunoscut sub numele de polimorfism static. Metoda supraîncărcarea poate fi considerată ca exemplu de polimorfism static.
    metoda supraîncărcarea: acest lucru ne permite să avem mai multe metode cu același nume într-o clasă care diferă în semnătură.,

    Ieșire:

    aa 10

    Când spun metoda semnătura eu nu vorbesc despre tipul de retur al metodei, de exemplu, dacă două metode au același nume, aceeași parametri și au diferite tip de retur, atunci acest lucru nu este o metodă validă supraîncărcarea exemplu. Acest lucru va arunca eroare de compilare.

    polimorfismul dinamic

    este, de asemenea, cunoscut sub numele de expediere metoda dinamică. Polimorfismul dinamic este un proces în care un apel la o metodă suprascrisă este rezolvat mai degrabă în timpul rulării, de aceea se numește polimorfism în timpul rulării.,

    Exemplu

    Ieșire:

    Woof

    Deoarece ambele clase, clasa copil și părinte clasă au aceeași metodă animalSound. Care dintre metode va fi apelată este determinată în timpul rulării de JVM.

    Câteva imperative exemple:

    ESTE UN & ARE-O relație

    ESTE O Mașină-UN Vehicul și ARE O Licență de atunci codul va arata astfel:

    public class Vehicle{ }public class Car extends Vehicle{ private License myCarLicense;}

    Clasă Abstractă și metode în OOPs Concepte

    metodă Abstractă:
    1) O metodă care este declarată, dar nu este definit. Numai semnătura metodă nici un organism.,
    2) declarat folosind cuvântul cheie abstract
    3) Exemplu :

    abstract public void playInstrument();

    5) folosit pentru a pune un fel de constrângere pe clasa care moștenește clasa are metode abstracte. Clasa care moștenește trebuie să asigure punerea în aplicare a tuturor metodelor abstracte ale clasei părinte altceva declara subclasa ca abstractă.
    6) Acestea nu pot fi abstracte

    • Constructori
    • metode Statice
    • metode Private
    • Metodele care sunt declarate „final”

    Clasă Abstractă
    O clasă abstractă prezintă metode dar nu neapărat implementează toate metodele.,

    abstract class A{ abstract void myMethod(); void anotherMethod(){ //Does something }}

    Nota 1: pot exista unele scenarii în care este dificil să se pună în aplicare toate metodele din clasa de bază. În astfel de scenarii se poate defini clasa de bază ca o clasă abstractă, ceea ce înseamnă că această clasă de bază este un tip special de clasă care nu este completă singură.

    o clasă derivată din clasa de bază abstractă trebuie să implementeze acele metode care nu sunt implementate(înseamnă că sunt abstracte) în clasa abstractă.nota 2: clasa abstractă nu poate fi instanțiată, ceea ce înseamnă că nu puteți crea obiectul clasei abstracte., Pentru a utiliza această clasă, trebuie să creați o altă clasă care se extinde această clasă abstractă oferă punerea în aplicare a metodelor abstracte, atunci puteți utiliza obiectul acelei clase copil pentru a apela metode non-abstracte de clasă părinte, precum și metode implementate(cele care au fost abstracte în părinte, dar implementate în clasa copil).Nota 3: dacă un copil nu implementează toate metodele abstracte ale clasei părinte( clasa abstractă), atunci clasa copil trebuie să fie declarată abstractă.,

    exemplu de clasă abstractă și metode

    aici avem un animal de clasă abstractă care are o metodă abstractă animalSound (), deoarece sunetul animalului diferă de la un animal la altul, nu are rost să dăm implementarea acestei metode, deoarece fiecare clasă de copii trebuie să suprascrie această metodă pentru a da propriile detalii de implementare. De aceea l-am făcut abstract.
    acum, fiecare animal trebuie să aibă un sunet, făcând această metodă abstractă am făcut-o obligatorie pentru clasa copilului să ofere detalii de implementare acestei metode. În acest fel ne asigurăm că fiecare animal are un sunet.,

    Output:

    Woof

    interfețe în Java

    o interfață este un plan de o clasă, care pot fi declarate prin utilizarea interfeței cuvinte cheie. Interfețele pot conține numai constante și metode abstracte (metode cu numai semnături nici un corp).La fel ca clasele abstracte, interfețele nu pot fi instanțiate, ele pot fi implementate doar prin clase sau extinse prin alte interfețe. Interfața este o modalitate comună de a realiza abstractizare completă în Java.,

    notă:

    1. Java nu acceptă moștenire multiplă, cu toate acestea, o clasă poate implementa mai multe interfețe
    2. Interfața este similară cu o clasă abstractă, dar conține doar metode abstracte.,
    3. Interfețele sunt create prin utilizarea interfeței de cuvinte cheie în loc de cuvinte cheie de clasa
    4. folosim implements cuvinte cheie în timp ce de punere în aplicare o interfață(similar pentru a extinde o clasa cu se extinde de cuvinte cheie)

    Interfata: Sintaxa

    class ClassName extends Superclass implements Interface1, Interface2, ....

    Exemplu de Interfață:

    Notă:

    1. Toate metodele din interfață sunt implicit publice și abstracte. Folosind cuvântul cheie abstract înainte de fiecare metodă este opțională.
    2. o interfață poate conține variabile finale.,
    3. o clasă poate extinde doar o altă clasă, dar poate implementa orice număr de interfețe.
    4. când o clasă implementează o interfață trebuie să dea definiția tuturor metodelor abstracte de interfață, altfel poate fi declarată ca clasă abstractă
    5. o referință de interfață poate indica obiecte ale claselor sale de implementare.generalizare și specializare:
      pentru a implementa conceptul de moștenire într-un OOPs, trebuie să identificăm mai întâi asemănările dintre diferite clase pentru a veni cu clasa de bază.,acest proces de identificare a asemănărilor între diferite clase se numește generalizare. Generalizarea este procesul de extragere a caracteristicilor comune din două sau mai multe clase și combinarea lor într-o superclasă generalizată. Caracteristicile partajate pot fi atribute sau metode.spre deosebire de generalizare, Specializarea înseamnă crearea de noi subclase dintr-o clasă existentă. Dacă se dovedește că anumite atribute sau metode se aplică numai anumitor obiecte ale clasei, se poate crea o subclasă.,

      specificatori de acces

      Ei bine, trebuie să fi văzut cuvântul cheie public, privat în exemplele pe care le-am împărtășit mai sus. Acestea sunt numite specificatori de acces, deoarece decid domeniul de aplicare al unui membru, metodă sau clasă de date.există patru tipuri de specificatori de acces în java:
      public: accesibil tuturor. Alte obiecte pot accesa, de asemenea, această variabilă membru sau funcția.
      privat: nu este accesibil de alte obiecte. Membrii privați pot fi accesați numai prin metodele din aceeași clasă. Obiect accesibil numai în clasa în care sunt declarate.,
      protejat: domeniul de aplicare al unei variabile protejate se află în clasa care o declară și în clasa care moștenește din clasă (domeniul de aplicare este clasa și subclasa).
      implicit: domeniul de aplicare este nivelul pachetului. Nu trebuie să menționăm în mod explicit implicit, deoarece atunci când nu menționăm Niciun specificator de acces, este considerat implicit.,

      ce vom învăța în următoarele tutoriale despre conceptele OOPs

      deși am acoperit aproape toate conceptele OOPs aici, dar orice am învățat în acest ghid este pe scurt, aceste subiecte sunt largi și există atât de mult spațiu pentru a învăța aceste subiecte în detaliu cu ajutorul exemplelor. Thats de ce am acoperit fiecare subiect în detaliu, împreună cu exemple și diagrame în următoarele tutoriale.
      cum puteți citi următoarele tutoriale într-o manieră secvențială? Există câteva moduri de a face acest lucru – 1) link-uri Tutorial sunt furnizate în bara laterală din stânga, du-te, deși le în secvența dată.,
      2) Du-te la pagina principală Tutorial java care are toate link-urile către tutoriale în mod secvențial.
      dacă găsiți dificultăți în înțelegerea acestor concepte OOPs, aruncați un comentariu mai jos și vă voi reveni cât mai curând posibil.

  • Lasă un răspuns

    Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *