logo

Koncepcja programowania obiektowego (OOP) w Javie

Jak sama nazwa wskazuje, koncepcja programowania obiektowego lub Java OOPs odnosi się do języków, które używają obiektów w programowaniu, używają obiektów jako głównego źródła do implementacji tego, co ma się wydarzyć w kodzie. Obiekty są widziane przez przeglądającego lub użytkownika, wykonującego przydzielone mu zadania.

Programowanie obiektowe ma na celu implementację bytów ze świata rzeczywistego, takich jak dziedziczenie, ukrywanie, polimorfizm itp. W programowaniu. Głównym celem OOP jest powiązanie danych i funkcji, które na nich operują, tak aby żadna inna część kodu nie mogła uzyskać dostępu do tych danych poza tą funkcją.



Omówmy wymagania wstępne, dopracowując koncepcje deklaracji metod i przekazywania komunikatów. Zaczynając od deklaracji metody, składa się z sześciu komponentów:

  • Modyfikator dostępu : Określa Typ dostępu metody, tj. skąd można uzyskać do niej dostęp w aplikacji. W Javie istnieją 4 typy specyfikatorów dostępu:
    • publiczny: Dostępne we wszystkich klasach w Twojej aplikacji.
    • chroniony: Dostępne w pakiecie, w którym jest zdefiniowany i w jego podklasy (w tym podklasy zadeklarowane poza pakietem) .
    • prywatny: Dostępny tylko w klasie, w której jest zdefiniowany.
    • default (zadeklarowany/zdefiniowany bez użycia żadnego modyfikatora): Dostępny w tej samej klasie i pakiecie, w którym zdefiniowano jego klasę.
  • Typ zwrotu : Typ danych wartości zwracanej przez metodę lub void, jeśli nie zwraca wartości.
  • Nazwa metody : Reguły dotyczące nazw pól dotyczą również nazw metod, ale konwencja jest nieco inna.
  • Lista parametrów : Rozdzielana przecinkami lista zdefiniowanych parametrów wejściowych, poprzedzona typem danych, ujęta w nawiasy. Jeśli nie ma parametrów, należy użyć pustych nawiasów ().
  • Lista wyjątków : Wyjątki, które mają zostać zgłoszone przez metodę. Możesz określić te wyjątki.
  • Ciało metody : Jest to blok kodu ujęty w nawiasy klamrowe, który należy wykonać, aby wykonać zamierzone operacje.

Przekazywanie wiadomości : Obiekty komunikują się ze sobą poprzez wysyłanie i odbieranie informacji. Komunikat dla obiektu jest żądaniem wykonania procedury i dlatego wywołuje w obiekcie odbierającym funkcję, która generuje pożądane wyniki. Przekazywanie wiadomości polega na określeniu nazwy obiektu, nazwy funkcji oraz informacji, które mają zostać przesłane.



Opanuj OOP w Javie Napisz czystszy, bardziej modułowy i nadający się do ponownego użycia kod Java, budując podstawy programowania obiektowego dzięki interaktywnemu kursowi edukacyjnemu Programowanie obiektowe w Javie . Zarejestruj się na Educative.io za pomocą kodu GEEKS10 aby zaoszczędzić 10% na subskrypcji.

Teraz, gdy omówiliśmy podstawowe wymagania wstępne, przejdziemy do 4 filarów OOP, które są następujące. Zacznijmy jednak od poznania różnych cech języka programowania obiektowego.

Koncepcje OOPS są następujące:

  1. Klasa
  2. Obiekt
  3. metoda I przejście metody
  4. Filary OOP
    • Abstrakcja
    • Kapsułkowanie
    • Dziedzictwo
    • Wielopostaciowość
      • Polimorfizm w czasie kompilacji
      • Polimorfizm środowiska wykonawczego



A klasa to zdefiniowany przez użytkownika projekt lub prototyp, na podstawie którego tworzone są obiekty. Reprezentuje zestaw właściwości lub metod wspólnych dla wszystkich obiektów jednego typu. Używając klas, możesz tworzyć wiele obiektów o tym samym zachowaniu, zamiast wielokrotnie pisać ich kod. Obejmuje to klasy obiektów występujących w kodzie więcej niż raz. Ogólnie rzecz biorąc, deklaracje klas mogą zawierać te komponenty w następującej kolejności:

  1. Modyfikatory : Klasa może być publiczna lub mieć dostęp domyślny (patrz Ten dla szczegółów).
  2. Nazwa klasy: Nazwa klasy powinna zaczynać się od pierwszej litery pisanej zgodnie z konwencją.
  3. Nadklasa (jeśli istnieje): Nazwa rodzica klasy (nadklasy), jeśli istnieje, poprzedzona słowem kluczowym rozciąga się. Klasa może rozszerzać (podklasę) tylko jednego rodzica.
  4. Interfejsy (jeśli występują): Rozdzielana przecinkami lista interfejsów zaimplementowanych przez klasę, jeśli istnieje, poprzedzona słowem kluczowym implements. Klasa może implementować więcej niż jeden interfejs.
  5. Ciało: Treść klasy jest otoczona nawiasami klamrowymi { }.

Obiekt to podstawowa jednostka programowania obiektowego, która reprezentuje byty z życia codziennego. Typowy program w Javie tworzy wiele obiektów, które jak wiadomo oddziałują na siebie poprzez wywoływanie metod. Obiekty wykonują Twój kod, są częścią kodu widoczną dla przeglądarki/użytkownika. Obiekt składa się głównie z:

  1. Państwo : Jest reprezentowany przez atrybuty obiektu. Odzwierciedla także właściwości obiektu.
  2. Zachowanie : Jest reprezentowany przez metody obiektu. Odzwierciedla także reakcję obiektu na inne obiekty.
  3. Tożsamość : Jest to unikalna nazwa nadana obiektowi, która umożliwia mu interakcję z innymi obiektami.
  4. metoda : Metoda to zbiór instrukcji, które wykonują określone zadanie i zwracają wynik do osoby wywołującej. Metoda może wykonać określone zadanie bez zwracania czegokolwiek. Metody nam na to pozwalają ponowne użycie kodu bez konieczności jego ponownego wpisywania i dlatego są one brane pod uwagę oszczędzacze czasu . W Javie każda metoda musi być częścią jakiejś klasy, która różni się od języków takich jak C , C++ , I Pyton .

klasa i obiekty jeden prosty program Java:

Jawa
public class GFG {    static String Employee_name;  static float Employee_salary;  static void set(String n, float p) {  Employee_name = n;  Employee_salary = p;  }  static void get() {  System.out.println('Employee name is: ' +Employee_name );  System.out.println('Employee CTC is: ' + Employee_salary);  }  public static void main(String args[]) {  GFG.set('Rathod Avinash', 10000.0f);  GFG.get();  } }>

Wyjście
Employee name is: Rathod Avinash Employee CTC is: 10000.0>

Omówmy teraz 4 filary OOP:

Filar 1: Abstrakcja

Dane Abstrakcja to właściwość, dzięki której użytkownikowi wyświetlane są jedynie istotne szczegóły. Jednostki trywialne lub nieistotne nie są wyświetlane użytkownikowi. Przykład: Samochód postrzega się raczej jako samochód niż jego poszczególne elementy.
Abstrakcję danych można również zdefiniować jako proces identyfikowania jedynie wymaganych cech obiektu, ignorując nieistotne szczegóły. Właściwości i zachowania obiektu odróżniają go od innych obiektów podobnego typu, a także pomagają w klasyfikacji/grupowaniu obiektu.

Rozważmy przykład z życia wzięty, przedstawiający mężczyznę prowadzącego samochód. Człowiek tylko wie, że naciśnięcie pedału przyspieszenia zwiększy prędkość samochodu lub włączenie hamulca zatrzyma samochód, ale nie wie, jak po naciśnięciu pedału gazu prędkość faktycznie rośnie. Nie ma wiedzy na temat wewnętrznego mechanizmu samochodu ani zastosowania przyspieszaczy, hamulców itp. w samochodzie. To jest właśnie abstrakcja.

W Javie abstrakcję osiąga się poprzez interfejsy I klasy abstrakcyjne . Za pomocą interfejsów możemy osiągnąć 100% abstrakcję.

Metoda abstrakcyjna zawiera tylko deklarację metody, ale nie zawiera implementacji.

nasiona vs zarodniki

Demonstracja klasy abstrakcyjnej

węzeł listy Java
Jawa
//abstract class abstract class GFG{  //abstract methods declaration  abstract void add();  abstract void mul();  abstract void div(); }>

Filar 2: Kapsułkowanie

Definiuje się je jako pakowanie danych w pojedynczą jednostkę. Jest to mechanizm, który łączy kod i dane, którymi manipuluje. Innym sposobem myślenia o enkapsulacji jest to, że jest to tarcza ochronna, która uniemożliwia dostęp do danych kodowi znajdującemu się poza tą osłoną.

  • Technicznie rzecz biorąc, w kapsułkowanie , zmienne lub dane w klasie są ukryte przed jakąkolwiek inną klasą i można uzyskać do nich dostęp tylko poprzez dowolną funkcję członkowską klasy, w której są zadeklarowane.
  • W enkapsulacji dane w klasie są ukryte przed innymi klasami, co jest podobne ukrywanie danych robi. Zatem terminy enkapsulacja i ukrywanie danych są używane zamiennie.
  • Enkapsulację można osiągnąć poprzez zadeklarowanie wszystkich zmiennych w klasie jako prywatnych i zapisanie w klasie metod publicznych w celu ustawienia i pobrania wartości zmiennych.

Demonstracja enkapsulacji:

Jawa
//Encapsulation using private modifier  //Employee class contains private data called employee id and employee name class Employee {  private int empid;  private String ename; }>

Filar 3: Dziedzictwo

Dziedzictwo jest ważnym filarem OOP (programowanie obiektowe). Jest to mechanizm w Javie, dzięki któremu jedna klasa może dziedziczyć cechy (pola i metody) innej klasy. Dziedziczenie osiągamy za pomocą rozciąga się słowo kluczowe. Dziedziczenie jest również znane jako jest relacja.

Omówmy kilka często używanych ważnych terminologii:

  • Superklasa: Klasa, której funkcje są dziedziczone, nazywana jest nadklasą (znaną również jako klasa podstawowa lub nadrzędna).
  • Podklasa: Klasa, która dziedziczy drugą klasę, nazywana jest podklasą (znaną również jako klasa pochodna, rozszerzona lub podklasa). Oprócz pól i metod nadklasy podklasa może dodawać własne pola i metody.
  • Możliwość ponownego użycia: Dziedziczenie wspiera koncepcję ponownego wykorzystania, tj. gdy chcemy stworzyć nową klasę i istnieje już klasa zawierająca część potrzebnego nam kodu, możemy wyprowadzić naszą nową klasę z istniejącej klasy. W ten sposób ponownie wykorzystujemy pola i metody istniejącej klasy.

Wykazanie dziedziczenia:

Jawa
//base class or parent class or super class class A{  //parent class methods  void method1(){}  void method2(){} } //derived class or child class or base class class B extends A{ //Inherits parent class methods  //child class methods  void method3(){}  void method4(){} }>

Filar 4: Wielopostaciowość

Odnosi się do zdolności obiektowych języków programowania do skutecznego rozróżniania jednostek o tej samej nazwie. Dokonuje tego Java za pomocą podpisu i deklaracji tych podmiotów. Nazywa się to zdolnością do występowania w wielu formach wielopostaciowość .

Np.

Jawa
sleep(1000) //millis sleep(1000,2000) //millis,nanos>

Notatka: Polimorfizm w Javie jest głównie dwojakiego rodzaju:

  1. Przeciążenie
  2. Nadrzędny

Przykład

Jawa
// Java program to Demonstrate Polymorphism // This class will contain // 3 methods with same name, // yet the program will // compile & run successfully public class Sum {  // Overloaded sum().  // This sum takes two int parameters  public int sum(int x, int y)  {  return (x + y);  }  // Overloaded sum().  // This sum takes three int parameters  public int sum(int x, int y, int z)  {  return (x + y + z);  }  // Overloaded sum().  // This sum takes two double parameters  public double sum(double x, double y)  {  return (x + y);  }  // Driver code  public static void main(String args[])  {  Sum s = new Sum();  System.out.println(s.sum(10, 20));  System.out.println(s.sum(10, 20, 30));  System.out.println(s.sum(10.5, 20.5));  } }>

Wyjście
30 60 31.0>

Wniosek

Koncepcja programowania obiektowego (OOP) w Javie to potężny sposób organizowania i pisania kodu. Wykorzystuje kluczowe pojęcia, takie jak klasy, obiekty, dziedziczenie, polimorfizm, enkapsulacja i abstrakcja, aby stworzyć elastyczny kod nadający się do wielokrotnego użytku. Korzystając z koncepcji Java OOPs, programiści mogą efektywniej tworzyć złożone aplikacje, dzięki czemu kod jest łatwiejszy w zarządzaniu, zrozumieniu i modyfikowaniu. Ogólnie rzecz biorąc, koncepcje OOP języka Java pomagają w tworzeniu solidnych i skalowalnych rozwiązań programowych.

Koncepcja programowania obiektowego (OOP) w Javie – często zadawane pytania

Jaka jest koncepcja OOP w Javie?

OOP (programowanie obiektowe) to paradygmat programowania oparty na koncepcji obiektów, które mogą zawierać dane w postaci pól (atrybuty lub właściwości) oraz kod w postaci procedur (metod lub funkcji). W Javie pojęcia OOP obejmują enkapsulację, dziedziczenie, polimorfizm i abstrakcję.

Dlaczego OOP są ważne w Javie?

OOPs pomagają w organizowaniu i konstruowaniu kodu w bardziej przejrzysty sposób, ułatwiając utrzymanie i skalowanie aplikacji Java. Promuje także możliwość ponownego wykorzystania kodu, modułowość i elastyczność, co prowadzi do wydajnego i niezawodnego tworzenia oprogramowania.

Jakie są główne zasady OOP w Javie?

Główne zasady OOP w Javie to enkapsulacja, dziedziczenie, polimorfizm i abstrakcja. Hermetyzacja zapewnia, że ​​stan wewnętrzny obiektu jest ukryty i można uzyskać do niego dostęp wyłącznie metodami publicznymi. Dziedziczenie pozwala jednej klasie dziedziczyć właściwości i zachowanie od innej. Polimorfizm umożliwia traktowanie obiektów jako instancji ich klasy nadrzędnej. Abstrakcja skupia się na ukrywaniu szczegółów implementacji i pokazywaniu światu zewnętrznemu jedynie niezbędnych informacji.

Jak zaimplementowano OOP w Javie?

W Javie OOP są implementowane poprzez klasy i obiekty. Klasa służy jako plan tworzenia obiektów, które są instancjami tej klasy. Każdy obiekt ma swój własny zestaw atrybutów (zmiennych) i metod (funkcji). Stosując się do koncepcji OOP, takich jak enkapsulacja, dziedziczenie, polimorfizm i abstrakcja, programiści Java mogą projektować dobrze ustrukturyzowany i łatwy w utrzymaniu kod.

Jakie są zalety używania OOP w Javie?

Niektóre zalety używania OOP w Javie obejmują możliwość ponownego wykorzystania kodu, modułowość, elastyczność, skalowalność i łatwiejszą konserwację. OOP umożliwia programistom modelowanie obiektów ze świata rzeczywistego jako obiektów, co prowadzi do bardziej intuicyjnego i zorganizowanego kodu. Obsługuje także funkcje takie jak dziedziczenie i polimorfizm, które zwiększają rozszerzalność i czytelność aplikacji Java.

Czy możesz podać przykład implementacji koncepcji OOP w Javie?

Jasne! Przykładem implementacji koncepcji OOP w Javie jest utworzenie klasy „Car” z atrybutami takimi jak „make”, „model” i „year” oraz metodami takimi jak „start()”, „accelerate()” i „stop ()”. Tworząc instancje obiektów z klasy „Car” i wywołując jej metody, możemy symulować zachowanie różnych instancji samochodów w sposób ustrukturyzowany i zorientowany obiektowo.