Python - Objekt

Innehållsförteckning
I Objektorienterad programmering, objekt är abstrakta representationer av element, som vi definierar genom deras attribut och som har en rad metoder som gör att vi kan manipulera och få tillgång till dessa attribut.
existera 3 funktioner som ger oss anledning att använda våra egna objekt istället för att bero på de funktioner, bibliotek och globaler som språket gör tillgängliga för oss, dessa är:
  • Polymorfism: användning av samma operationer på olika objekt av olika klasser.
  • Inkapsling: dölja dess attribut från enheter utanför objektet så att det kan skydda dem.
  • Arv- Skapa mer specifika objekt som ärver de grundläggande attributen och metoderna för en mer allmän högre klass.

Denna term betyder att den har många former, det betyder att vi kan utföra operationer som kommer att fungera olika beroende på objektets typ eller klass. Låt oss ta ett enkelt exempel, låt oss föreställa oss att vi har en kundvagn, sedan definierar vi hur vi vill att prisdata och önskad produkt ska erhållas, som vi ser i följande bild att vi skapar en tupel.

Vad skulle hända om kundvagnens funktionalitet utökas och nu arbetar vi med auktioner, på något sätt bör vi ange de värden som måste tas emot och hur man ska agera när man använder samma metoder, så som många skulle tro är att göra en funktion av följande form, men är inte lämpligt.

Som vi kan se på bilden täcker vi ögonblickets möjligheter, men vad som händer när funktionaliteten ökar, vi måste fortsätta uppdatera denna kod för alltid, det är där polymorfismen kommer in och vad vi gör är att definiera att varje objekt returnerar sitt pris oavsett hur det beräknas eftersom det är något internt i varje klass, vilket skulle vara enligt följande:

Vi kan då se att det är något som hjälper oss att ha en kod som är mer hållbar över tid, lättare att underhålla.
Detta består av att dölja klassens inre detaljer för omvärlden, så att den bara kan nås av sina egna objekt och metoder, på detta sätt kan vi arbeta med klasser utan att behöva känna till deras interna funktioner, eliminera implementeringskomplexitet och skydda logiken i våra objekt.
Det tillåter oss också arbeta med försäkran om att data i vårt objekt inte kommer att ändras, eftersom om de fungerar på ett abstrakt sätt kommer vi att kunna instansera flera gånger och varje instans är helt individuell.
Låt oss titta på ett exempel på ett objekt som inte är inkapslat:

Här ser vi det trots att det var det o1 som gjorde en uppsättning av namnet, o2 komma åt samma namn utan att ha ställt in det, skulle detta i en applikation vara problematiskt, låt oss föreställa oss att vi behöver priset på flera produkter och var och en skriver över priset på den föregående.
Nu med en inkapsling, låt oss titta på hur hela flödet av programmet skulle fungera.

Här ser vi att varje objekt behåller sitt namn, så vi vet att vi kan arbeta säkert genom att få rätt värden för vart och ett av våra objekt.
wave wave wave wave wave