570 Shares 5741 views

PLO – co to jest? Podstawowe zasady programowania obiektowego

Dlaczego programowania obiektowego jest preferowany w większości projektów? PLO oferuje skuteczny sposób na radzenie sobie z ich złożoności. Zamiast rozważa program jako sekwencji instrukcji wykonywalnych, że reprezentuje ją jako grupę obiektów o określonych właściwościach i produkować je z pewnych działań. Skutkuje to jaśniejsze, bardziej niezawodne i legkosoprovozhdaemyh zastosowań.

Podstawowe zasady programowania obiektowego (OOP) utworzona ponieważ restrykcje zostały znalezione w już istniejących rozwiązań. Wśród nich – nieograniczony dostęp do danych oraz dużą ilość linków, które nakładają ograniczenia na zmiany. Ich świadomość i przyczyny ważne jest, aby zrozumieć, co programowania OOP i jakie są jego zalety.

języki proceduralne

C, Pascal, FORTRAN i podobnych języków proceduralnych. Oznacza to, że każdy z operatorem mówi komputerowi coś zrobić: aby uzyskać dane, należy dodać do siebie liczby, podzielonych na sześć, wynik wyświetlany. Dodatek język proceduralny jest lista instrukcji. Jeśli jest mała, żadna inna zasada organizująca (często określane jako paradygmat) nie jest wymagana. Programista tworzy listę instrukcji, a komputer je wykonuje.

Rozdzielenie funkcji

Kiedy aplikacje stają się bardziej uciążliwe lista zakrętów. Niewiele można zrozumieć więcej niż kilkaset instrukcji, dopóki nie zostaną zgrupowane. Z tego powodu funkcja była droga, aby aplikacja bardziej zrozumiały dla jego twórców. W niektórych językach, to samo pojęcie można nazwać podprogramy lub procedury.

Aplikacja jest podzielony na funkcje, z których każda ma wyraźnie określony cel i interfejs.

Pomysł oddzielenia procedur może być rozszerzona do większej grupy obiektu zwanego modułem, ale zasada jest analogiczna: grupowanie elementów, które prowadzą wykazy dokumentów.

Rozdzielenie funkcji i modułów – jeden z kamieni narożnych programowania strukturalnego, który przez kilka lat, aż OWP była ona stawia paradygmat.

Programowanie strukturalne problemy

Jak aplikacje stają się większe, programowania strukturalnego zaczynają doświadczać trudności. Projekty stają się zbyt skomplikowane. przesunięty grafiki. To pociąga za sobą dużą liczbę programistów. Złożoność wzrosła. Koszty strzelectwo, harmonogram został przesunięty dalej i przyszło załamanie.

Analiza przyczyn niepowodzeń ujawniła braki paradygmat proceduralnych. Niezależnie od tego, jak dobrze zorganizowany wdrożone podejście do programowania, duże aplikacje stają się zbyt skomplikowane.

Jakie są przyczyny tych problemów związanych z języków proceduralnych? Po pierwsze, funkcje mają nieograniczony dostęp do danych globalnych. Po drugie, niepowiązanych procedury i złych wartości symulować prawdziwy świat.

Jeśli weźmiemy pod uwagę te kwestie w kontekście programów księgowych zapasów, jeden z najważniejszych elementów danych globalnych to zestaw SKU. Różne funkcje mogą odnosić się do nich, aby wprowadzić nową wartość, jest on wyświetlany, zmiany itd. D.

nieograniczony dostęp

Program napisany, na przykład, w C, istnieją dwa rodzaje danych. Lokalne ukryty wewnątrz funkcji i inne procedury nie są używane.

Gdy dwie lub więcej funkcji mają dostęp do tych samych danych, musi ona mieć charakter globalny. Taki, na przykład, są brane pod uwagę informacje na temat badanych. Dane globalne mogą być wszelkie dostępne procedury.

W dużym programem, istnieje wiele funkcji i wiele elementów globalnych. Problem paradygmatu proceduralnego jest to, że prowadzi do większej liczby potencjalnych powiązań między nimi.

Tak duża liczba połączeń powoduje wiele trudności. Po pierwsze, to komplikuje zrozumienie struktury programu. Po drugie, trudno zmienić. Zmiana w globalnej pozycji danych może wymagać dostosowania wszystkich funkcji, które mają do niego dostęp.

Na przykład w programie kogoś rachunkowości postanawia, że stanowiły kod obiektu nie powinien składać się z 5 cyfr, a od 12. Będzie to wymagać zmiany typu danych od krótkich do długich. Teraz związaną z kodem funkcja musi zostać zmodyfikowany do pracy z nowym formatem.

Gdy elementy są zmieniane w większej aplikacji, trudno jest powiedzieć, jakie procedury mają do nich dostęp. Ale nawet jeśli tego rysunku, zmieniając ich może spowodować nieprawidłowe działanie z innymi danymi globalnymi. Wszystko jest połączone ze wszystkim innym, więc zmiana w jednym miejscu rykoszetem w innym.

Modelowaniu rzeczywistego świata

Drugi i ważniejszy problem paradygmatu proceduralnego jest to, że jego dane i funkcje specyficzne położenie źle symuluje rzeczy w świecie rzeczywistym. Tutaj mamy do czynienia z przedmiotami takimi jak ludzi i samochodów. Są jak bez danych lub funkcji. Złożone obiekty świata rzeczywistego mieć cechy i zachowania.

atrybuty

Przykłady atrybutów (czasami nazywane Właściwości) dla ludzi są kolor oczu oraz nazwę stanowiska, na samochód – moc i liczba drzwi. Jak się okazało, atrybuty prawdziwego świata równoważne z danymi w programie. Mają specyficzne wartości, takie jak niebieski (kolor oczu) lub cztery (liczba drzwi).

zachowanie

Zachowanie – jest to, że obiekty świata rzeczywistego są wytwarzane w odpowiedzi na jakiś wpływ. Jeśli poprosić szefa o wzrost płac, odpowiedź brzmi „tak” lub „nie”. Jeśli naciśniesz na hamulec, samochód się zatrzyma. I zatrzymywania zachowania wypowiedzi są przykładami. Zachowanie podobna do procedury: to się nazywa coś zrobić, i robi to. Zatem, dane i funkcje same w sobie nie modelowania obiektów w świecie rzeczywistym sprawnie.

adresowanie

Obiekt w OOP jest reprezentowany jako zbiór danych i funkcji. Tylko procedury, które są nazywane funkcji składowych w C ++, pozwalają na uzyskanie jej wartość. Są one ukryte i chronione przed zmianami. Znaczenie i funkcje są obudowane w jeden. Hermetyzacja i upryatyvanie – podstawowe terminy w opisie języków obiektowych.

Jeśli chcesz zmienić dane, że dokładnie wie, jakie funkcje interakcji z nimi. Żadne inne procedury nie można uzyskać do nich dostęp. To upraszcza pisanie, debugowanie i utrzymanie programu.

Aplikacja zazwyczaj składa się z kilku obiektów, które współdziałają ze sobą, powodując funkcji składowych.

Obecnie najczęściej używanym językiem OOP (programowanie obiektowe) – C ++ (plus plus). W Javie brakuje niektórych funkcji, takich jak wskaźniki, szablonów i wielokrotnego dziedziczenia, co sprawia, że jest mniej wydajny i wszechstronny niż C ++. C # nie osiągnął jeszcze popularność C ++.

Należy zauważyć, że tzw funkcji składowych w C ++ o nazwie metod w niektórych innych językach obiektowych, takich jak Smalltalk. Pozycje danych są nazywane atrybutami. Wywołanie metody obiektu wysyła mu wiadomości.

analogia

Można sobie wyobrazić, obiekty wydziałów firmy. W większości organizacji, pracownicy nie pracują jeden dzień z pracownikami, następującym przegrzaniu wynagrodzenia, a następnie tydzień zajmującej się handlem detalicznym. Każdy wydział ma swój własny personel, który jasno wyznaczonych obowiązków. Istnieją własne dane: wskaźniki płac, sprzedaży, pracowników księgowości, itp Ludzie w departamentach pracują z ich informacji … Podział spółki, w związku z tym, ułatwia kontrolę jego działania i zapewnia integralność danych. Księgowość jest odpowiedzialny za płac. Jeśli chcesz dowiedzieć się łączną kwotę wynagrodzeń wypłacanych południowego oddziału w lipcu, nie trzeba zagłębiać się w archiwum. Wystarczy wysłać informację do osoby odpowiedzialnej, poczekać, aż ta osoba ma dostęp do danych i wysyła odpowiedź do żądanych informacji. Zapewnia to zgodność z przepisami i brak ingerencji zewnętrznej. W ten sam sposób obiekt w PLO udostępnia aplikację organizacji.

Należy pamiętać, że orientacja obiektów nie ma zastosowania do szczegółów programu prac. Większość instrukcje C ++ operatorów odpowiada języków proceduralnych, takich jak C. W rzeczywistości, funkcje składowe w C ++ są bardzo podobne do funkcji w C Tylko szerszy kontekst pozwoli ustalić, czy dyspozycja proceduralny lub zorientowanym obiektowo.

Obiekt w OOP: Definicja

Rozważając problem w języku programowania obiektowego zamiast pytania o jego podział na osobne funkcje jest to problem występujący w instalacjach oddzielania. OOP myślenie jest znacznie łatwiejsze do tworzenia aplikacji. Wynika to z podobieństwa oprogramowania i rzeczywistych obiektów.

Jakie rzeczy są obiekty w OOP? Oto kilka typowych kategoriach.

Obiekt fizyczny w OOP – jest:

  • Modele przepływu transportu;
  • podzespoły elektryczne w programach projektowych obwodu;
  • Model gospodarki kraju;
  • samolot w systemie kontroli ruchu lotniczego.

Elementy środowiska komputerowego użytkownika:

  • menu;
  • szyby;
  • graficzne (linia, prostokąt, koło);
  • Napędy klawiatura, mysz, drukarka, dysk.

osoby:

  • pracowników;
  • studentów;
  • klientów;
  • sprzedawców.

informacje:

  • księgowości;
  • prywatna sprawa;
  • Słownik;
  • Stół z szerokości i długości geograficznej osiedli.

Komunikacja z realnym świecie obiektów i OWP była wynikiem kombinacji funkcji i danych, które zrewolucjonizowały programowania. Taki bliski mecz w językach proceduralnych tam.

klasa

Obiekty w PLO – członka klasy. Co to znaczy? języki programowania mają wbudowane typy danych. Typ int t. E. całkowita, która jest określona w C ++. można zadeklarować dowolną liczbę int zmiennych.

Podobnie, wiele obiektów określone przez jedną klasę. Określa funkcje i dane zawarte w swoich obiektów, a nie ich tworzenia, jak również int nie tworzy zmienne.

Klasa w PLO – opis wielu podobnych obiektów. Książę, Sting i Madonna są śpiewacy. Nie ma nikogo o tej nazwie, ale ludzie mogą być tak nazwać, jeśli mają odpowiednie cechy. OOP obiekt – ten przypadek.

dziedzictwo

W życiu, zajęcia są podzielone na podklasy. Na przykład, zwierzęta podzielono na płazów, ptaków, ssaków, owadów, i tak dalej. D.

Zasada działania tego rodzaju podziału jest to, że każda podklasa ma cechy wspólne z klasą, z którego. Wszystkie samochody posiadają koła i silnik. Jest to decydujące cechy pojazdów. W uzupełnieniu do ogólnych cech każdego podklasy ma swoje własne cechy. Istnieje wiele Autobusy i ciężarówki mają przestrzeń do przewozu ciężkich ładunków.

Podobnie, podstawa może być Klasa Podklasa macierzyste szereg pochodnych, które mogą być określone tak, aby dzielić swoje właściwości z dodatkiem. Dziedziczenie jak funkcje, uproszczenie programu proceduralną. Jeśli kilka części kodu robią niemal tak samo, można wyodrębnić wspólne elementy i umieścić je w jednej procedurze. Trzy obszar aplikacja może wywołać funkcję do wykonywania typowych czynności, ale mogą one produkować i własnej działalności. Podobnie, grupa podstawowa zawiera dane wspólne dla grupy pochodnych. Podobna funkcja zmniejsza spadku programu obiektowego i wyjaśnienie relacji elementów.

recykling

Gdy klasa jest tworzona i błędów, to może zostać przeniesione do innych programistów do ponownego wykorzystania we własnych aplikacjach. To jak biblioteka funkcji, które mogą być zawarte w różnych zastosowaniach.

W OOP, dziedziczenie jest rozszerzeniem idei wielokrotnego użytku. Z istniejącej klasy, nie zmieniając go, możemy tworzyć nowe z dodatkiem innych funkcji. Łatwość ponownego wykorzystania istniejącego oprogramowania – ważną zaletą OWP. Uważa się, że stanowi coraz większą opłacalność inwestycji początkowej.

Tworzenie nowych typów danych

Wyposażenie odpowiednie do tworzenia nowych typów danych. Załóżmy, że program używa wartości dwuwymiarowe (np współrzędne lub szerokość i długość geograficzna), i mają chęć wyrażania działania arytmetyczne na nich:

miejsce1 = położenie + pochodzenie,

gdzie miejsce1, położenie i pochodzenie – parę niezależnych wartości liczbowych. Tworzenie klasy, która zawiera te dwie wartości, a deklaracje zmiennych swoich obiektów tworzy nowy typ danych.

Polimorfizmu, przeciążenia

Operatorzy = (równe) i + (plus) stosowane w arytmetyce położenia powyżej, nie działa jak wbudowany typów, takich jak int. obiekty pozycji i inni. nie są z góry ustalone i ustawione przez oprogramowanie. Jak te podmioty wiedzą, jak sobie z nimi radzić? Odpowiedź tkwi w tym, że nowe zachowania można ustawić dla nich. Operacje te będą członek funkcje klasy Position.

Korzystanie z operatorów lub procedury w zależności od tego, czy pracują one nazywa polimorfizm. Gdy nie jest operatorem, takie jak + lub =, ma okazję pracować z nowym typem danych, mówi, że jest przeciążony. Przeciążenie w PLO – rodzaj polimorfizmu. To jest jego ważną cechą.

Książka na OWP „programowanie obiektowe dla opornych” pozwoli każdemu zapoznanie się z tym tematem w sposób bardziej szczegółowy.