logo

Concepte Java POO

  1. Programare orientată pe obiecte
  2. Avantajele POO față de limbajul de programare orientat pe procedură
  3. Diferența dintre limbajul de programare orientat pe obiect și bazat pe obiecte.

În această pagină, vom afla despre elementele de bază ale POO. Programarea orientată pe obiecte este o paradigmă care oferă multe concepte, cum ar fi moştenire , legarea datelor , polimorfism , etc.

început este considerat primul limbaj de programare orientat pe obiecte. Paradigma de programare în care totul este reprezentat ca obiect este cunoscută ca un limbaj de programare cu adevărat orientat pe obiecte.

Convorbire scurtă este considerat primul limbaj de programare cu adevărat orientat pe obiecte.

Limbajele populare orientate pe obiecte sunt Java , C# , PHP , Piton , C++ , etc.

Scopul principal al programării orientate pe obiect este de a implementa entități din lumea reală, de exemplu, obiect, clase, abstracție, moștenire, polimorfism etc.

șir la caracter

OOPs (Sistem de programare orientată pe obiecte)

Obiect înseamnă o entitate din lumea reală, cum ar fi un stilou, un scaun, o masă, un computer, un ceas etc. Programare orientată pe obiecte este o metodologie sau paradigmă pentru a proiecta un program folosind clase și obiecte. Simplifică dezvoltarea și întreținerea software-ului, oferind câteva concepte:

În afară de aceste concepte, există și alți termeni care sunt utilizați în proiectarea orientată pe obiecte:

  • Cuplare
  • Coeziune
  • Asociere
  • Agregare
  • Compoziţie
Concepte Java POO

Obiect

Obiect Java

Orice entitate care are stare și comportament este cunoscută ca obiect. De exemplu, un scaun, pix, masă, tastatură, bicicletă etc. Poate fi fizic sau logic.

Un obiect poate fi definit ca o instanță a unei clase. Un obiect conține o adresă și ocupă ceva spațiu în memorie. Obiectele pot comunica fără să cunoască detaliile datelor sau codului celuilalt. Singurul lucru necesar este tipul de mesaj acceptat și tipul de răspuns returnat de obiecte.

Exemplu: Un câine este un obiect deoarece are stări precum culoarea, numele, rasa etc. precum și comportamente precum dăruirea din coadă, lătratul, mâncatul etc.

Clasă

Colecția de obiecte se numește clasă. Este o entitate logică.

O clasă poate fi definită și ca un plan din care puteți crea un obiect individual. Clasa nu consumă spațiu.

Moştenire

Când un obiect dobândește toate proprietățile și comportamentele unui obiect părinte , este cunoscut sub numele de moștenire. Oferă reutilizarea codului. Este folosit pentru a realiza polimorfismul de rulare.

Polimorfismul în Java

Polimorfismul

Dacă o sarcină este efectuată în moduri diferite , este cunoscut sub numele de polimorfism. De exemplu: pentru a convinge clientul altfel, pentru a desena ceva, de exemplu, formă, triunghi, dreptunghi etc.

În Java, folosim supraîncărcarea metodei și suprascrierea metodei pentru a obține polimorfism.

Un alt exemplu poate fi să spui ceva; de exemplu, o pisică vorbește miau, câine latră wof etc.

Abstracția

Ascunderea detaliilor interne și afișarea funcționalității este cunoscut sub numele de abstractizare. De exemplu, un apel telefonic, nu cunoaștem procesarea internă.

În Java, folosim clasa abstractă și interfața pentru a realiza abstractizarea.

Încapsularea în Java OOPs Concepte

Încapsulare

Legarea (sau împachetarea) codului și datelor împreună într-o singură unitate este cunoscută sub numele de încapsulare . De exemplu, o capsulă, este învelită cu diferite medicamente.

O clasă java este exemplul de încapsulare. Java bean este clasa complet încapsulată, deoarece toți membrii datelor sunt private aici.

Cuplare

Cuplarea se referă la cunoștințele sau informațiile sau dependența unei alte clase. Apare atunci când clasele sunt conștiente una de cealaltă. Dacă o clasă are informațiile detaliate ale unei alte clase, există o cuplare puternică. În Java, folosim modificatori privați, protejați și publici pentru a afișa nivelul de vizibilitate al unei clase, metode și câmpuri. Puteți utiliza interfețe pentru cuplarea mai slabă, deoarece nu există o implementare concretă.

Coeziune

Coeziunea se referă la nivelul unei componente care îndeplinește o singură sarcină bine definită. O singură sarcină bine definită este realizată printr-o metodă foarte coerentă. Metoda slab coerentă va împărți sarcina în părți separate. Pachetul java.io este un pachet foarte coerent, deoarece are clase și interfață legate de I/O. Cu toate acestea, pachetul java.util este un pachet slab coeziv, deoarece are clase și interfețe care nu au legătură.

Asociere

Asocierea reprezintă relația dintre obiecte. Aici, un obiect poate fi asociat cu un obiect sau mai multe obiecte. Pot exista patru tipuri de asociere între obiecte:

  • Unu la unu
  • Unu la Multi
  • Mulți la Unu și
  • Mulți la Mulți

Să înțelegem relația cu exemplele în timp real. De exemplu, O țară poate avea un prim-ministru (unu la unu), iar un prim-ministru poate avea mai mulți miniștri (unu la mai mulți). De asemenea, mulți parlamentari pot avea un prim-ministru (mulți la unul), iar mulți miniștri pot avea mai multe departamente (mulți la mulți).

Asocierea poate fi nedirecțională sau bidirecțională.

Agregare

Agregarea este o modalitate de a realiza Asocierea. Agregarea reprezintă relația în care un obiect conține alte obiecte ca parte a stării sale. Reprezintă relația slabă dintre obiecte. Este, de asemenea, numit ca a are o relație în Java. De exemplu, moștenirea reprezintă este-a relaţie. Este o altă modalitate de a reutiliza obiecte.

Compoziţie

Compoziția este, de asemenea, o modalitate de realizare a Asociației. Compoziția reprezintă relația în care un obiect conține alte obiecte ca parte a stării sale. Există o relație puternică între obiectul care conține și obiectul dependent. Este starea în care obiectele care conțin nu au o existență independentă. Dacă ștergeți obiectul părinte, toate obiectele secundare vor fi șterse automat.

cum să afișați aplicația în Android

Avantajul OOP-urilor față de limbajul de programare orientat pe procedură

1) OOP-urile facilitează dezvoltarea și întreținerea, în timp ce, într-un limbaj de programare orientat către proceduri, nu este ușor de gestionat dacă codul crește pe măsură ce dimensiunea proiectului crește.

2) OOP oferă ascunderea datelor, în timp ce, într-un limbaj de programare orientat către proceduri, datele globale pot fi accesate de oriunde.

Date globale

Figura: Reprezentarea datelor în programarea orientată pe procedură


Date obiect

Figura: Reprezentarea datelor în programarea orientată pe obiecte

3) OOP oferă capacitatea de a simula evenimentele din lumea reală mult mai eficient. Putem oferi soluția unei probleme cu cuvinte reale dacă folosim limbajul de programare orientată pe obiecte.


Care este diferența dintre un limbaj de programare orientat pe obiect și un limbaj de programare bazat pe obiecte?

Limbajul de programare bazat pe obiecte urmează toate caracteristicile OOP-urilor, cu excepția Moștenirii. JavaScript și VBScript sunt exemple de limbaje de programare bazate pe obiecte.



Știi?
  • Putem supraîncărca metoda principală?
  • Un constructor Java returnează o valoare, dar ce?
  • Putem crea un program fără metoda principală?
  • Care sunt cele șase moduri de a folosi acest cuvânt cheie?
  • De ce moștenirea multiplă nu este acceptată în Java?
  • De ce să folosiți agregarea?
  • Putem suprascrie metoda statică?
  • Care este tipul de returnare covariantă?
  • Care sunt cele trei utilizări ale super-cheie Java?
  • De ce să folosiți blocul de inițializare a instanțelor?
  • Care este utilizarea unei variabile finale goale?
  • Ce este un marker sau o interfață etichetată?
  • Ce este polimorfismul runtime sau metoda dinamică de expediere?
  • Care este diferența dintre legarea statică și dinamică?
  • Cât este posibil de downcasting în Java?
  • Care este scopul unui constructor privat?
  • Ce este clonarea obiectelor?
Ce vom învăța în Conceptele OOP?
  • Avantajul OOP-urilor
  • Convenția de denumire
  • Obiect și clasă
  • Supraîncărcarea metodei
  • Constructor
  • cuvânt cheie static
  • acest cuvânt cheie cu șase utilizări
  • Moştenire
  • Agregare
  • Suprascrierea metodei
  • Tip de returnare covariant
  • super cuvânt cheie
  • Bloc inițializator de instanță
  • cuvânt cheie final
  • Clasa abstracte
  • Interfață
  • Polimorfismul de rulare
  • Legare statică și dinamică
  • Downcasting cu instanță de operator
  • Pachet
  • Modificatori de acces
  • Încapsulare
  • Clonarea obiectelor