OOP Concepts in Java

ups koncepcje w javie

Co to jest OOPS?

System programowania obiektowego (OOP) to koncepcja programowania działająca na zasadach abstrakcji, enkapsulacji, dziedziczenia i polimorfizmu. Pozwala użytkownikom tworzyć żądane obiekty i tworzyć metody obsługi tych obiektów. Podstawową koncepcją OOP jest tworzenie obiektów, ponowne używanie ich w całym programie i manipulowanie nimi w celu uzyskania wyników.

OOP, czyli „programowanie obiektowe”, jest popularnie znaną i szeroko stosowaną koncepcją we współczesnych językach programowania, takich jak Java.

OOP Concepts in Java z przykładami

Poniżej przedstawiono ogólne koncepcje programowania obiektowego Java:

1) Klasa

klasa jest jednym z podstawowych pojęć OOP, które jest grupą podobnych bytów. Jest to tylko logiczny składnik, a nie byt fizyczny. Zrozumiemy to jedno z OOP Concepts na przykład, jeśli masz klasę o nazwie „Drogie samochody”, może ona zawierać obiekty takie jak Mercedes, BMW, Toyota itp. Jej właściwościami (danymi) mogą być cena lub prędkość tych samochodów. Chociaż metody te mogą być wykonywane w przypadku tych samochodów, obejmują jazdę, bieg wsteczny, hamowanie itp.

2) Przedmiot

Obiekt można zdefiniować jako instancję klasy, a w programie może istnieć wiele instancji klasy. Obiekt jest jednym z Java Koncepcje OOPs, które zawierają zarówno dane, jak i funkcję, która działa na danych. Na przykład – krzesło, rower, marker, długopis, stół, samochód itp.

3) Dziedziczenie

Dziedzictwo jest jednym z podstawowych Concepts OOP, w których jeden obiekt przejmuje właściwości i zachowania obiektu nadrzędnego. Tworzy relację rodzic-dziecko pomiędzy dwiema klasami. Oferuje solidny i naturalny mechanizm organizacji i struktury dowolnego oprogramowania.

4) Polimorfizm

Wielopostaciowość odnosi się do jednego z pojęć OOP w Java czyli zdolność zmiennej, obiektu lub funkcji do przyjmowania wielu form. Na przykład w języku angielskim czasownik biegać ma inne znaczenie, jeśli użyjesz go z laptop, wyścig stóp, biznes. Tutaj rozumiemy znaczenie biegać w oparciu o inne słowa użyte wraz z nim. To samo tyczy się polimorfizmu.

5) Abstrakcja

Abstrakcja jest jednym z OOP Concepts in Java który jest aktem reprezentowania istotnych cech bez uwzględniania szczegółów tła. Jest to technika tworzenia nowego typu danych, który jest odpowiedni dla konkretnej aplikacji. Zrozumiemy to jedno z OOP Concepts np. prowadząc samochód nie musisz martwić się o jego wewnętrzne działanie. Tutaj musisz tylko zająć się częściami takimi jak kierownica, przekładnie, pedał gazu itp.

6) Hermetyzacja

Kapsułkowanie jest jedną z najlepszych Java Koncepcje OOPs dotyczące owijania danych i kodu. W tej koncepcji OOPs zmienne klasy są zawsze ukryte przed innymi klasami. Dostęp do nich jest możliwy tylko za pomocą metod ich bieżącej klasy. Na przykład – w szkole uczeń nie może istnieć bez klasy.

7) Stowarzyszenie

Stowarzyszenie to relacja pomiędzy dwoma obiektami. To jeden z OOP Concepts in Java który określa różnorodność pomiędzy obiektami. W tej koncepcji OOP wszystkie obiekty mają swój odrębny cykl życia i nie ma właściciela. Na przykład wielu uczniów może powiązać się z jednym nauczycielem, a jeden uczeń może także powiązać się z wieloma nauczycielami.

8) Agregacja

W tej technice wszystkie obiekty mają swój oddzielny cykl życia. Istnieje jednak własność, tak że obiekt podrzędny nie może należeć do innego obiektu nadrzędnego. Na przykład rozważ klasę/obiekty department i teacher. Tutaj pojedynczy nauczyciel nie może należeć do wielu departmentów, ale nawet jeśli usuniemy department, obiekt teacher nigdy nie zostanie zniszczony.

9) Skład

Kompozycja jest wyspecjalizowaną formą agregacji. Nazywa się to także związkiem „śmierci”. Obiekty podrzędne nie mają swojego cyklu życia, więc gdy obiekt nadrzędny zostanie usunięty, wszystkie obiekty podrzędne również zostaną usunięte automatycznie. W tym celu weźmy przykład domu i pokoi. Każdy dom może mieć kilka pokoi. Jeden pokój nie może stać się częścią dwóch różnych domów. Jeśli więc usuniesz, pokój w domu również zostanie usunięty.

Zalety OOP (systemu programowania obiektowego):

  • OOP Concepts in Java oferują łatwą do zrozumienia i przejrzystą strukturę modułową programów.
  • Obiekty utworzone dla programów obiektowych można ponownie wykorzystać w innych programach. W ten sposób oszczędza znaczne koszty rozwoju.
  • Pisanie dużych programów jest trudne, ale jeśli zespół programistów i projektantów stosuje koncepcję OOPS, mogą oni projektować lepiej, unikając błędów.
  • Zwiększa to modułowość programu, ponieważ każdy obiekt istnieje niezależnie.

Porównanie OOPS z innymi stylami programowania na przykładzie

Rozumiemy na przykładzie, jak Java OOP Concepts różnią się od innych podejść do programowania.

Języki programowania można podzielić na 3 podstawowe typy

  1. Niestrukturalne języki programowania: Najbardziej prymitywny ze wszystkich języków programowania, posiadający sekwencyjny przepływ sterowania. Kod jest powtarzany w całym programie
  2. Strukturalne języki programowania: Ma niesekwencyjny przepływ kontroli. Użycie funkcji pozwala na ponowne wykorzystanie kodu.
  3. Obiektowe języki programowania: Łączy dane i działanie razem.

Kliknij w tym miejscu jeśli film nie jest dostępny

Rozumiemy te 3 typy na przykładzie.

Załóżmy, że chcesz stworzyć oprogramowanie bankowe z funkcjami takimi jak

  1. Depozyt
  2. Wypłaty
  3. Pokaż saldo

Niestrukturalne języki programowania

Najwcześniejszym ze wszystkich języków programowania był niestrukturalny język programowania. Bardzo podstawowy kod aplikacji bankowej w nieustrukturyzowanym języku programowania będzie miał dwie zmienne jednego numeru rachunku i drugiej dla salda konta

int account_number=20;
int account_balance=100;

Załóżmy, że dokonano wpłaty w wysokości 100 dolarów.

account_balance=account_balance+100

Następnie musisz wyświetlić saldo konta.

printf(“Account Number=%d,account_number)
printf(“Account Balance=%d,account_balance)

Teraz kwota 50 dolarów została wycofana.

account_balance=account_balance-50

Ponownie musisz wyświetlić saldo konta.

printf(“Account Number=%d,account_number)
printf(“Account Balance=%d,account_balance)

Programowanie niestrukturalne

Przy każdej kolejnej operacji wpłaty lub wypłaty będziesz musiał wielokrotnie powtarzać te same linijki kodu.

Programowanie strukturalne

Wraz z pojawieniem się programowania strukturalnego powtarzające się linie kodu zostały umieszczone w strukturach takich jak funkcje lub metody. Jeśli zajdzie taka potrzeba, wykonywane jest proste wywołanie funkcji.

Programowanie strukturalne

Programowanie obiektowe

W naszym programie zajmujemy się danymi lub wykonujemy określone operacje na danych. W rzeczywistości posiadanie danych i wykonywanie określonych operacji na tych danych jest bardzo podstawową cechą każdego programu. Eksperci w programowaniu oprogramowania pomyśleli o połączeniu danych i Operations. Dlatego narodziło się Programowanie Obiektowe, które jest powszechnie nazywane OOPS. Ten sam kod w językach programowania obiektowego będzie miał te same dane i pewne działania wykonywane na tych danych.

Class Account{
    int account_number;
    int account_balance;
public void showdata(){
    system.out.println(“Account Number”+account_number)
    System.out.println(“Account Balance”+ account_balance)
}
}

Programowanie obiektowe

Łącząc dane i działanie, uzyskamy wiele zalet w porównaniu z programowaniem strukturalnym, takich jak:

  • Abstrakcja
  • Kapsułkowanie
  • Dziedzictwo
  • Wielopostaciowość

Są one omówione bardziej szczegółowo w kolejnych samouczkach