Python - Obiecte

Cuprins
În Programare orientată pe obiecte, obiectele sunt reprezentări abstracte ale elementelor, pe care le definim prin atributele lor și care au o serie de metode care ne permit să manipulăm și să avem acces la aceste atribute.
exista 3 caracteristici care ne dau motivul să ne folosim propriile obiecte în loc să depindem de funcțiile, bibliotecile și globurile pe care limbajul ni le pune la dispoziție, acestea sunt:
  • Polimorfism: utilizarea acelorași operații pe obiecte diferite din clase diferite.
  • Incapsulare: ascundeți atributele sale de entități din afara obiectului, astfel încât să le poată proteja.
  • Moştenire- Creați obiecte mai specifice care moștenesc atributele și metodele de bază ale unei clase superioare mai generale.

Acest termen înseamnă că are multe forme, aceasta înseamnă că putem efectua operațiuni care vor funcționa diferit în funcție de tipul sau clasa obiectului. Să luăm un exemplu simplu, să ne imaginăm că avem un coș de cumpărături, apoi definim modul în care dorim să se obțină datele despre preț și produsul dorit, așa cum vedem în imaginea următoare că creăm un tuplu.

Acum, ce s-ar întâmpla dacă funcționalitatea coșului de cumpărături este extinsă și acum lucrăm cu licitații, într-un fel ar trebui să specificăm valorile care trebuie primite și cum să acționăm atunci când se utilizează aceleași metode, modul în care mulți ar crede este de a face o funcție de următoarea formă, totuși, nu este adecvat.

După cum putem vedea în imagine, acoperim posibilitățile momentului, totuși, ceea ce se întâmplă atunci când funcționalitățile sunt crescute, va trebui să continuăm să actualizăm acest cod pentru totdeauna, de aici intră polimorfismul și ceea ce facem este să definim că fiecare obiectul își returnează prețul indiferent de modul în care este calculat, deoarece este ceva intern fiecărei clase, care ar fi după cum urmează:

Putem vedea atunci că este ceva care ne ajută să avem un cod mai durabil în timp, mai ușor de întreținut.
Acest constă în ascunderea detaliilor interne ale clasei de lumea exterioară, astfel încât să poată fi accesat doar prin propriile obiecte și metode, în acest fel putem lucra cu clase fără a fi nevoie să le cunoaștem funcționarea internă, eliminând complexitatea implementării și protejând logica din obiectele noastre.
De asemenea, ne permite lucrați cu asigurarea că datele din obiectul nostru nu vor fi modificate, deoarece dacă funcționează într-un mod abstract, vom putea instanția de mai multe ori și fiecare instanță este total individuală.
Să vedem un exemplu de obiect care nu este încapsulat:

Aici vedem asta chiar dacă a fost o1 care a făcut un set de nume, o2 accesați același nume fără a-l seta, acest lucru într-o aplicație ar fi problematic, să ne imaginăm că avem nevoie de prețul mai multor produse și fiecare suprascrie prețul celui anterior.
Acum, cu o încapsulare, să vedem cum ar funcționa întregul flux al programului.

Aici vedem că fiecare obiect își păstrează numele, așa că știm că putem lucra în siguranță obținând valorile corecte pentru fiecare dintre obiectele noastre.

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave