Python - Obiekty

Spisie treści
w Programowanie obiektowe, obiekty są abstrakcyjnymi reprezentacjami elementów, które definiujemy za pomocą ich atrybutów i które mają szereg metod, które pozwalają nam manipulować i mieć dostęp do tych atrybutów.
istnieć 3 cechy które dają nam powód do korzystania z własnych obiektów zamiast polegać na funkcjach, bibliotekach i globalach, które udostępnia nam język, są to:
  • Wielopostaciowość: użycie tych samych operacji na różnych obiektach różnych klas.
  • Kapsułkowanie: ukryć jego atrybuty przed podmiotami spoza obiektu, aby mógł je chronić.
  • Dziedzictwo- Twórz bardziej specyficzne obiekty, które dziedziczą podstawowe atrybuty i metody bardziej ogólnej wyższej klasy.

Termin ten oznacza, że ​​ma wiele form, to znaczy, że możemy wykonywać operacje, które będą działały różnie w zależności od typu lub klasy obiektu. Weźmy prosty przykład, wyobraźmy sobie, że mamy koszyk na zakupy, następnie określamy, w jaki sposób chcemy uzyskać dane cenowe i pożądany produkt, jak widzimy na poniższym obrazku, że tworzymy krotkę.

Teraz co by się stało, gdyby funkcjonalność koszyka zakupowego została rozszerzona i teraz pracujemy z aukcjami, w jakiś sposób powinniśmy określić wartości, które muszą być odbierane i jak postępować przy użyciu tych samych metod, tak jak wielu by myślało jest wykonanie funkcji o następującej formie, jednak nie jest właściwe.

Jak widać na obrazku zakrywamy możliwości chwili, jednak co się stanie, gdy funkcjonalności zostaną zwiększone, będziemy musieli cały czas aktualizować ten kod, czyli gdzie pojawia się polimorfizm i co robimy, to określamy, że każdy obiekt zwraca swoją cenę niezależnie od sposobu jej obliczenia, ponieważ jest czymś wewnętrznym dla każdej klasy, co wyglądałoby następująco:

Widzimy wtedy, że jest to coś, co pomaga nam mieć kod trwalszy w czasie, łatwiejszy w utrzymaniu.
Ten polega na ukryciu wewnętrznych szczegółów klasy przed światem zewnętrznym, dzięki czemu można uzyskać do niego dostęp tylko za pomocą własnych obiektów i metod, w ten sposób możemy pracować z klasami bez konieczności znajomości ich wewnętrznego działania, eliminując złożoność implementacji i chroniąc logikę w naszych obiektach.
Pozwala nam również pracować z zapewnieniem, że dane w naszym obiekcie nie ulegną zmianie, ponieważ jeśli działają w sposób abstrakcyjny, będziemy mogli wielokrotnie tworzyć instancje, a każda instancja jest całkowicie indywidualna.
Spójrzmy na przykład obiektu, który nie jest hermetyzowany:

Tutaj widzimy, że chociaż było o1 kto stworzył zestaw nazwy, o2 uzyskać dostęp do tej samej nazwy bez jej ustawienia, to w aplikacji byłoby problematyczne, wyobraźmy sobie, że potrzebujemy ceny kilku produktów i każdy z nich nadpisuje cenę poprzedniego.
Teraz z enkapsulacją przyjrzyjmy się, jak działałby cały przepływ programu.

Tutaj widzimy, że każdy obiekt zachowuje swoją nazwę, dzięki czemu wiemy, że możemy bezpiecznie pracować, uzyskując prawidłowe wartości dla każdego z naszych obiektów.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave