logo

Koncepcje OOP w Javie

  1. Programowanie obiektowe
  2. Przewaga OOP nad językiem programowania zorientowanym na procedury
  3. Różnica między językiem programowania obiektowym a obiektowym.

Na tej stronie poznamy podstawy OOP. Programowanie obiektowe to paradygmat obejmujący wiele koncepcji, takich jak dziedzictwo , powiązanie danych , wielopostaciowość itp.

początek uważany jest za pierwszy obiektowy język programowania. Paradygmat programowania, w którym wszystko jest reprezentowane jako obiekt, nazywany jest prawdziwie obiektowym językiem programowania.

Pogawędka jest uważany za pierwszy prawdziwie obiektowy język programowania.

Popularnymi językami obiektowymi są Jawa , C# , PHP , Pyton , C++ itp.

Głównym celem programowania obiektowego jest implementacja bytów ze świata rzeczywistego, na przykład obiektów, klas, abstrakcji, dziedziczenia, polimorfizmu itp.

ile mb w GB

OOP (system programowania obiektowego)

Obiekt oznacza obiekt ze świata rzeczywistego, taki jak długopis, krzesło, stół, komputer, zegarek itp. Programowanie obiektowe to metodologia lub paradygmat projektowania programu przy użyciu klas i obiektów. Upraszcza tworzenie i konserwację oprogramowania, udostępniając pewne koncepcje:

Oprócz tych pojęć istnieje kilka innych terminów używanych w projektowaniu obiektowym:

  • Sprzęganie
  • Spójność
  • Stowarzyszenie
  • Zbiór
  • Kompozycja
Koncepcje OOP w Javie

Obiekt

Obiekt Java

Dowolny byt, który ma stan i zachowanie, nazywany jest obiektem. Na przykład krzesło, długopis, stół, klawiatura, rower itp. Może to być fizyczne lub logiczne.

Obiekt można zdefiniować jako instancję klasy. Obiekt zawiera adres i zajmuje trochę miejsca w pamięci. Obiekty mogą się komunikować bez znajomości szczegółów swoich danych lub kodu. Jedynym niezbędnym elementem jest rodzaj akceptowanej wiadomości i rodzaj odpowiedzi zwracanej przez obiekty.

Przykład: Pies jest obiektem, ponieważ ma stany takie jak kolor, imię, rasa itp., a także zachowania takie jak machanie ogonem, szczekanie, jedzenie itp.

Klasa

Kolekcja obiektów nazywa się klasą. Jest to byt logiczny.

Klasę można również zdefiniować jako plan, na podstawie którego można utworzyć indywidualny obiekt. Zajęcia nie zajmują miejsca.

Dziedzictwo

Kiedy jeden obiekt przejmuje wszystkie właściwości i zachowania obiektu nadrzędnego nazywa się to dziedziczeniem. Zapewnia możliwość ponownego użycia kodu. Służy do osiągnięcia polimorfizmu w czasie wykonywania.

Polimorfizm w Javie

Wielopostaciowość

Jeśli jedno zadanie jest wykonywane na różne sposoby , jest to znane jako polimorfizm. Na przykład: przekonać klienta w inny sposób, narysować coś, na przykład kształt, trójkąt, prostokąt itp.

W Javie używamy przeciążania i zastępowania metod, aby osiągnąć polimorfizm.

Innym przykładem może być mówienie czegoś; na przykład kot mówi „miau”, pies szczeka „hau” itp.

Abstrakcja

Ukrywanie wewnętrznych szczegółów i pokazywanie funkcjonalności nazywa się abstrakcją. Na przykład rozmowa telefoniczna, nie znamy wewnętrznego przetwarzania.

W Javie używamy klas abstrakcyjnych i interfejsu, aby osiągnąć abstrakcję.

jak sparować słuchawki Beats
Enkapsulacja w koncepcjach Java OOP

Kapsułkowanie

Wiązanie (lub owijanie) kodu i danych w jedną całość nazywa się enkapsulacją . Na przykład kapsułka jest owinięta różnymi lekami.

Przykładem enkapsulacji jest klasa Java. Komponent Java jest w pełni hermetyzowaną klasą, ponieważ wszystkie elementy danych są tutaj prywatne.

Sprzęganie

Sprzężenie odnosi się do wiedzy, informacji lub zależności innej klasy. Powstaje, gdy klasy są sobie wzajemnie świadome. Jeśli klasa zawiera szczegółowe informacje o innej klasie, występuje silne sprzężenie. W Javie używamy modyfikatorów private, chronionych i publicznych do wyświetlania poziomu widoczności klasy, metody i pola. Można użyć interfejsów dla słabszego sprzężenia, ponieważ nie ma konkretnej implementacji.

Spójność

Spójność odnosi się do poziomu komponentu, który realizuje jedno, dobrze określone zadanie. Pojedyncze, dobrze określone zadanie jest wykonywane przy użyciu wysoce spójnej metody. Metoda słabo spójna podzieli zadanie na osobne części. Pakiet java.io jest pakietem wysoce spójnym, ponieważ zawiera klasy i interfejs związane z wejściami/wyjściami. Jednakże pakiet java.util jest pakietem słabo spójnym, ponieważ zawiera niepowiązane klasy i interfejsy.

Stowarzyszenie

Stowarzyszenie reprezentuje relację między obiektami. Tutaj jeden obiekt może być powiązany z jednym obiektem lub wieloma obiektami. Pomiędzy obiektami mogą występować cztery typy powiązań:

  • Jeden na jednego
  • Jeden za dużo
  • Wiele do jednego i
  • Wiele do wielu

Rozumiemy związek z przykładami w czasie rzeczywistym. Na przykład jeden kraj może mieć jednego premiera (jeden do jednego), a premier może mieć wielu ministrów (jeden do wielu). Ponadto wielu parlamentarzystów może mieć jednego premiera (wiele do jednego), a wielu ministrów może mieć wiele departamentów (wiele do wielu).

Powiązanie może być jednokierunkowe lub dwukierunkowe.

Zbiór

Agregacja jest sposobem na osiągnięcie skojarzenia. Agregacja reprezentuje relację, w której jeden obiekt zawiera inne obiekty jako część swojego stanu. Reprezentuje słabe relacje między obiektami. Jest również określany jako ma relacja w Javie. Podobnie dziedziczenie reprezentuje jest relacja. To kolejny sposób na ponowne wykorzystanie obiektów.

Kompozycja

Kompozycja jest także drogą do osiągnięcia skojarzenia. Kompozycja reprezentuje relację, w której jeden obiekt zawiera inne obiekty jako część swojego stanu. Istnieje silny związek pomiędzy obiektem zawierającym i obiektem zależnym. Jest to stan, w którym obiekty zawierające nie istnieją niezależnie. Jeśli usuniesz obiekt nadrzędny, wszystkie obiekty podrzędne zostaną automatycznie usunięte.


Przewaga OOP nad językiem programowania zorientowanym na procedury

1) OOP ułatwia rozwój i konserwację, podczas gdy w języku programowania zorientowanym na procedury nie jest łatwo zarządzać, jeśli kod rośnie wraz ze wzrostem rozmiaru projektu.

2) OOP zapewnia ukrywanie danych, podczas gdy w języku programowania zorientowanym na procedury dostęp do danych globalnych można uzyskać z dowolnego miejsca.

Dane globalne

Rysunek: Reprezentacja danych w programowaniu zorientowanym na procedury


Dane obiektu

Rysunek: Reprezentacja danych w programowaniu obiektowym

3) OOPs zapewnia możliwość znacznie skuteczniejszej symulacji wydarzeń w świecie rzeczywistym. Możemy zapewnić rozwiązanie prawdziwego problemu tekstowego, jeśli używamy języka programowania obiektowego.


Jaka jest różnica między obiektowym językiem programowania a obiektowym językiem programowania?

Obiektowy język programowania spełnia wszystkie funkcje OOP z wyjątkiem dziedziczenia. JavaScript i VBScript to przykłady języków programowania obiektowego.



Czy wiesz?
  • Czy możemy przeciążyć metodę główną?
  • Konstruktor Java zwraca wartość, ale co?
  • Czy możemy stworzyć program bez metody głównej?
  • Jakie są sześć sposobów użycia tego słowa kluczowego?
  • Dlaczego dziedziczenie wielokrotne nie jest obsługiwane w Javie?
  • Dlaczego warto używać agregacji?
  • Czy możemy zastąpić metodę statyczną?
  • Jaki jest typ zwrotu kowariantnego?
  • Jakie są trzy zastosowania słowa kluczowego Java super?
  • Po co używać bloku inicjatora instancji?
  • Jakie jest zastosowanie pustej zmiennej końcowej?
  • Co to jest znacznik lub interfejs z tagami?
  • Co to jest polimorfizm w czasie wykonywania lub dynamiczne wysyłanie metod?
  • Jaka jest różnica między wiązaniem statycznym a dynamicznym?
  • Jak downcasting jest możliwy w Javie?
  • Jaki jest cel prywatnego konstruktora?
  • Co to jest klonowanie obiektów?
Czego dowiemy się z Koncepcji OOP?
  • Zaleta OOP
  • Konwencja nazewnictwa
  • Przedmiot i klasa
  • Przeciążanie metody
  • Konstruktor
  • statyczne słowo kluczowe
  • to słowo kluczowe z sześcioma użyciami
  • Dziedzictwo
  • Zbiór
  • Zastępowanie metody
  • Kowariantny typ zwrotu
  • super słowo kluczowe
  • Blok inicjatora instancji
  • ostatnie słowo kluczowe
  • Klasa abstrakcyjna
  • Interfejs
  • Polimorfizm środowiska wykonawczego
  • Wiązanie statyczne i dynamiczne
  • Rzutowanie w dół za pomocą operatora instancjiof
  • Pakiet
  • Modyfikatory dostępu
  • Kapsułkowanie
  • Klonowanie obiektów