Articles

Wprowadzenie obiektowych języków programowania: Przewodnik

obiektowe języki programowania używają obiektów, które zawierają zarówno dane, jak i Kod. Zasady programowania obiektowego to enkapsulacja, abstrakcja, polimorfizm i dziedziczenie.

języki programowania obiektowego (OOP) są wszędzie, gdzie szukamy. Wiele z najczęściej używanych języków kodowania, które tworzą dzisiejszy świat komputerów, jest zorientowanych obiektowo. W rzeczywistości wiele programów komputerowych i znaczna część treści w sieci jest zbudowana na językach wysokiego poziomu, zorientowanych obiektowo. Zrozumienie, jak działają języki obiektowe i dlaczego są przydatne, jest ważne w prawie każdej karierze informatycznej.

w tym artykule przyjrzymy się, czym są języki obiektowe i przyjrzymy się ich zaletom i wadom. Przyjrzymy się również krótkiej liście najpopularniejszych obecnie używanych języków OOP.

co to jest język programowania?

język programowania jest zbiorem reguł i procedur, które pozwalają programistom na przekazanie komputerom zestawu instrukcji do wykonania. Każdy język programowania ma swoją własną składnię, która po nauczeniu się pozwala powiedzieć komputerowi, jakie zadania powinien wykonać.

formularz zgłoszenia
znajdź swój mecz Bootcamp
, w

    kariera Karma mecze z top tech bootcamps w uzyskać ekskluzywne stypendia i kursy przygotowawcze

pomyśl o tym w ten sposób. Angielski jest językiem, który pozwala komunikować się z osobami mówiącymi po angielsku. Kiedy znasz podstawowe zasady języka angielskiego, możesz porozmawiać z każdym, kto rozumie te same zasady. Ale komputery nie mogą zrozumieć angielskiego ani żadnego innego „tradycyjnego” języka.

czym są obiektowe języki programowania?

Komputery to potężne maszyny. Dzięki komputerowi możemy niezwykle szybko obliczyć liczby i jesteśmy w stanie wyprodukować niesamowite programy do wielu zastosowań. Jednak, aby skorzystać z tej mocy, musimy komunikować się z komputerem jest coś mniej bolesne niż ręczne wpisywanie jedynek i zer.

dlatego mamy języki programowania, które są podparte kodem maszynowym, który został już napisany. Jednak im dalej usuwamy z kodu maszynowego, tym bardziej abstrakcyjne i wyspecjalizowane języki stają się w obsłudze danych. Dlatego mamy tak wiele języków; żaden jeden język nie jest doskonały, a wszystkie mają różne i nakładające się zastosowania.

paradygmaty programowania

w związku z tym języki programowania są często oddzielone paradygmatem programowania. Paradygmat programowania jest jednym ze sposobów patrzenia na dane i uzyskiwania do nich dostępu. Dwa podstawowe paradygmaty są zorientowane obiektowo i funkcjonalne, chociaż jest ich o wiele więcej (w tym niektóre, które są podstawowymi zasadami dla powyższego).

Programowanie obiektowe jest zbudowane wokół obiektów, które są strukturami danych, które zawierają zarówno dane (Właściwości lub atrybuty), jak i Kod (procedury lub metody). Obiekty są w stanie modyfikować się za pomocą „tego” lub „ja”.’W większości języków OOP prawie wszystko jest obiektem, który może mieć zarówno wartości, jak i kod wykonywalny. Każdy obiekt jest unikalny i chociaż może być kopią innego obiektu, jego zmienne mogą się różnić od zmiennych innych obiektów.

obiekty w projektowaniu oprogramowania obiektowego mogą być traktowane jak rzeczywiste obiekty. Pomyśl o przedmiocie, jak o zegarku. Ten zegarek ma właściwości. Jest wykonana z metalu, jest czarna, ma specyficzną wagę. Ale ten obiekt również robi różne rzeczy. Wyświetla czas, a także może wpływać na siebie, obracając koła zębate, aby zmienić pozycję rąk.

Inną cechą obiektów jest to, że nie zawsze musimy wiedzieć, jak działa zegarek, aby go uruchomić. Zakładając, że zegarek jest dobrze zbudowany, niezawodnie wskaże czas, bez konieczności ingerowania w jego wewnętrzne działanie.

języki obiektowe mają obiekty podobne do obiektów świata rzeczywistego. Mogą mieć właściwości i funkcje. Mają również tendencję do przestrzegania pewnego zestawu zasad.

zasady programowania obiektowego

języki obiektowe mają cztery zasady. Te cztery zasady są wspólnymi właściwościami, które je definiują i czynią je znacznie bardziej wydajnymi. Niektórzy nazywają je czterema filarami programowania obiektowego.

cztery filary programowania obiektowego to:

  1. enkapsulacja
  2. abstrakcja
  3. dziedziczenie
  4. polimorfizm

cztery zasady

przyjrzyjmy się tym czterem zasadom głębiej.

  • Encapsulation – Encapsulation to koncepcja wiązania danych z funkcjami, które działają jako funkcja bezpieczeństwa, aby zapewnić bezpieczeństwo tych danych. Na przykład, wiele języków OOP uniemożliwia dostęp do tych danych innym niż określone metody w klasie posiadającej dane. Często odbywa się to wyraźnie w celu zapewnienia bezpieczeństwa niektórych danych.
  • abstrakcja-abstrakcja polega na tym, że jeśli robisz jedną rzecz zbyt często, powinna to być jej własna Jednostka. Na przykład, jeśli programista wielokrotnie przepisuje tę samą funkcję dla różnych obiektów, funkcja ta może zostać abstrakcyjna, aby stać się własną jednostką.
  • dziedziczenie-Dziedziczenie jest tym, jak to brzmi i jest najczęściej definiowane jako związek „jest”. Pozwala niektórym klasom być pod parasolem innych klas. Klasy te mogą dziedziczyć informacje i funkcje z tej klasy, a jednocześnie mogą rozszerzać tę funkcjonalność. Pozwala nam to na ponowne użycie kodu, który już wpisaliśmy w innych klasach.
  • polimorfizm-polimorfizm oznacza ” przybierać więcej niż jeden kształt.”W znaczeniu języków OOP odnosi się do zdolności do obsługi obiektów w różny sposób, w zależności od tego, czym są. Pozwala na definiowanie różnych metod obsługi obiektów w oparciu o ich klasę pochodną. Na przykład, jeśli musimy znaleźć wielkość czegoś, możemy zmienić sposób pomiaru na podstawie tego, czym jest. Jeśli to deska z drewna, zmierzyłbym ją w calach. Jest to w przeciwieństwie do objętości wody, którą mierzyłbym wagowo. Jeśli wykorzystamy polimorfizm, możemy stworzyć funkcję, która może zaakceptować dowolny obiekt i nadal dać nam normalny pomiar.

popularne obiektowe języki programowania

Java, Python, C++, Lisp i Perl są przykładami popularnych obiektowych języków programowania. Wspierają programowanie z wykorzystaniem paradygmatu klas i obiektów.

do najpopularniejszych języków obiektowych należą:

  1. Java
  2. Python
  3. c++
  4. Ruby
  5. C#
  • Java – Java jest wszędzie i jest jednym z najczęściej używanych języków wszech czasów. Motto Javy to „napisz raz, uruchom gdziekolwiek”, co znajduje odzwierciedlenie w liczbie platform, na których działa i na których jest używana.
  • Python – Python jest uniwersalny i używany w wielu miejscach. Jednak Python ma silną pozycję w uczeniu maszynowym i nauce o danych. Jest to jeden z preferowanych języków w tej nowej i stale rozwijającej się dziedzinie.
  • C++ – C++ma szybkość C z funkcjonalnością klas i paradygmatem obiektowym. Jest to skompilowany, niezawodny i potężny język. W rzeczywistości jest nawet używany do tworzenia kompilatorów i interpreterów dla innych języków.
  • Ruby – Ruby jest kolejnym językiem programowania ogólnego przeznaczenia. Został zbudowany z myślą o prostocie. Mając to na uwadze, Ruby jest niesamowicie potężnym językiem. Twórca Ruby, Yukihiro „Matz” Matsumoto, powiedział: „Ruby jest bardzo prosty w wyglądzie, ale jest bardzo złożony w środku, tak jak nasze ludzkie ciało.”
  • C# – C# to język programowania zaprojektowany przez Microsoft. Został zaprojektowany, aby ulepszyć istniejące koncepcje w C. C # zasila Microsoft. NET framework wraz z wieloma aplikacjami internetowymi, grami, aplikacjami komputerowymi i aplikacjami mobilnymi.

istnieją inne języki obiektowe, których nie omówiliśmy powyżej. Perl, Objective-C, Dart, Lisp, JavaScript i PHP są również zorientowane obiektowo lub wspierają Zasady zorientowane obiektowo.

zalety i wady obiektowych języków programowania

chociaż języki OOP mogą być potężne, nie są przydatne w każdej sytuacji i mają pewien bagaż, który należy wziąć pod uwagę.

zalety

wielokrotnego użytku

Kod zorientowany obiektowo jest bardzo modularny. Ze względu na polimorfizm i abstrakcję, można utworzyć jedną funkcję, która może być używana w kółko. Można również skopiować informacje i funkcje, które zostały już zapisane w dziedziczeniu. Oszczędza to czas, zmniejsza złożoność, oszczędza miejsce i sprawia, że kodowanie jest lżejsze na naszych palcach.

równoległy rozwój

jest wystarczająco dużo podstaw, aby części programu były rozwijane oddzielnie od siebie i nadal działały zgodnie z zasadami obiektowymi. Dzięki temu współbieżny rozwój jest znacznie łatwiejszy dla większych zespołów programistycznych.

Konserwacja

ponieważ większość, jeśli nie wszystkie, naszego kodu znajduje się w jednym miejscu, jest wywoływana i ponownie używana, kod ten jest znacznie łatwiejszy do utrzymania. Zamiast indywidualnie naprawiać setki różnych przypadków, w których funkcja jest wywoływana, możemy naprawić jedną funkcję modularną i polimorficzną.

bezpieczeństwo

podczas gdy większość języków ma pewne zabezpieczenia, języki obiektowe są wygodne, ponieważ zabezpieczenia są wbudowane w hermetyzację. Inne metody i klasy nie mogą domyślnie uzyskać dostępu do prywatnych danych, a programy napisane w językach OOP są dla nich bezpieczniejsze.

modułowość

obiektowe języki programowania dzielą aplikację na obiekty i klasy. Jest to korzystne, ponieważ nadaje aplikacji bardziej modułową strukturę. Kod modułowy jest łatwiejszy do odczytania. Dlatego jest łatwiejszy w utrzymaniu.

wady

często bałagan

ponieważ języki obiektowe są tak konfigurowalne i skalowalne, łatwo może być stracić zrozumienie, jak działa kod. Kod OOP może działać na wiele sposobów. Istnieje wiele metod programowania w OOP, które nie działają dobrze z innymi metodologiami, są nieefektywne lub trudne w użyciu.

wymaga więcej planowania

ponieważ te języki są tak modułowe i skalowalne, wchodzenie bez jasnego projektu z wyprzedzeniem jest receptą na katastrofę. Stworzenie wydajnego programu wymaga solidnego planu, bardziej niż w przypadku innych paradygmatów programowania.

nieprzezroczystość

To jest tak samo pro Jak con. obiekty i funkcje mogą działać niezależnie. Mogą przyjmować informacje i (zazwyczaj) zwracać wiarygodne wyniki. W rezultacie mogą stać się czarnymi skrzynkami, co oznacza, że to, co robią, nie zawsze jest oczywiste. Podczas gdy programista prawdopodobnie stworzył ten obiekt i wie, co robi, języki OOP po prostu nie są tak przejrzyste jak inne języki.

wydajność

języki obiektowe często mają wpływ na wydajność. Programy wykonane w językach OOP są często większe i wymagają większego wysiłku obliczeniowego niż języki funkcyjne. Jednak nie zawsze jest to prawda lub ważne. C++ jest językiem OOP, ale jest jednym z najszybszych dostępnych języków. Jednocześnie szybkość nie zawsze jest ważna. Różnica w prędkości staje się widoczna tylko podczas przetwarzania dużych lub złożonych obliczeń lub w przypadkach, w których wymagana jest ekstremalna prędkość.

teraz masz mocne pojęcie o tym, czym jest język obiektowy, do czego służy i które są najbardziej popularne. Programowanie w tych językach może być tak przyjemne, jak opłacalne, a twoja kariera w rozwoju jest tylko kilka kroków.