logo

Koncept objektově orientovaného programování (OOPs) v Javě

Jak název napovídá, objektově orientované programování nebo koncept Java OOPs odkazuje na jazyky, které používají objekty v programování, používají objekty jako primární zdroj k implementaci toho, co se má stát v kódu. Objekty vidí divák nebo uživatel při provádění úkolů, které zadáte.

sanjay dutt a

Objektově orientované programování si klade za cíl implementovat entity reálného světa, jako je dědičnost, skrývání, polymorfismus atd. V programování. Hlavním cílem OOP je spojit data a funkce, které s nimi pracují, tak, aby k těmto datům neměla přístup žádná jiná část kódu kromě této funkce.



Pojďme diskutovat o předpokladech vyleštěním konceptů deklarace metody a předávání zpráv. Počínaje deklarací metody se skládá ze šesti složek:

  • Modifikátor přístupu : Definuje typ přístupu metody, tj. odkud k němu lze přistupovat ve vaší aplikaci. V Javě existují 4 typy specifikátorů přístupu:
    • veřejnost: Dostupné ve všech třídách ve vaší aplikaci.
    • chráněný: Přístupný v rámci balíčku, ve kterém je definován, a v jeho rámci podtřídy (včetně podtříd deklarovaných mimo balíček) .
    • soukromé: Přístupné pouze v rámci třídy, ve které je definováno.
    • výchozí (deklarováno/definováno bez použití jakéhokoli modifikátoru): Přístupné v rámci stejné třídy a balíčku, ve kterém je její třída definována.
  • Typ návratu : Datový typ hodnoty vrácené metodou nebo void, pokud nevrací hodnotu.
  • Název metody : Pravidla pro názvy polí platí také pro názvy metod, ale konvence jsou trochu jiné.
  • Seznam parametrů : Čárkami oddělený seznam vstupních parametrů, které jsou definovány, před nimiž je uveden jejich datový typ, v uzavřených závorkách. Pokud nejsou žádné parametry, musíte použít prázdné závorky ().
  • Seznam výjimek : Výjimky, které očekáváte, že metoda vyvolá. Tyto výjimky můžete zadat.
  • Tělo metody : Je to blok kódu, uzavřený mezi složenými závorkami, který musíte provést, abyste provedli zamýšlené operace.

Předávání zpráv : Objekty spolu komunikují tak, že si navzájem posílají a přijímají informace. Zpráva pro objekt je požadavek na provedení procedury, a proto vyvolá funkci v přijímajícím objektu, která generuje požadované výsledky. Předávání zpráv zahrnuje zadání názvu objektu, názvu funkce a informací, které mají být odeslány.

Master OOP v Javě Pište čistší, modulárnější a opakovaně použitelný kód Java vybudováním základů objektově orientovaného programování s interaktivním kurzem Educative Learn Objektově orientované programování v Javě . Zaregistrujte se na Educative.io pomocí kódu GEEKS10 ušetříte 10 % na předplatném.

Nyní, když jsme pokryli základní předpoklady, přejdeme ke 4 pilířům OOP, které jsou následující. Ale začněme tím, že se dozvíme o různých charakteristikách objektově orientovaného programovacího jazyka.

Koncepty OOPS jsou následující:

  1. Třída
  2. Objekt
  3. Metoda a předávání metody
  4. Pilíře OOP
    • Abstrakce
    • Zapouzdření
    • Dědictví
    • Polymorfismus
      • Polymorfismus v době kompilace
      • Runtime polymorfismus

A třída je uživatelsky definovaný plán nebo prototyp, ze kterého jsou vytvářeny objekty. Představuje soubor vlastností nebo metod, které jsou společné všem objektům jednoho typu. Pomocí tříd můžete vytvořit více objektů se stejným chováním namísto psaní jejich kódu vícekrát. To zahrnuje třídy pro objekty vyskytující se ve vašem kódu více než jednou. Obecně mohou deklarace tříd obsahovat tyto komponenty v pořadí:

  1. Modifikátory : Třída může být veřejná nebo mít výchozí přístup (viz tento pro detaily).
  2. Jméno třídy: Název třídy by měl podle konvence začínat počátečním písmenem velkým.
  3. Superclass (pokud existuje): Název rodiče třídy (nadtřída), pokud existuje, před kterým je klíčové slovo extends. Třída může rozšířit (podtřídu) pouze o jednoho rodiče.
  4. Rozhraní (pokud existují): Čárkami oddělený seznam rozhraní implementovaných třídou, pokud existuje, před kterým je klíčové slovo implements. Třída může implementovat více než jedno rozhraní.
  5. Tělo: Tělo třídy je obklopeno složenými závorkami { }.

Objekt je základní jednotkou objektově orientovaného programování, která představuje entity reálného života. Typický program v Javě vytváří mnoho objektů, které, jak víte, interagují vyvoláním metod. Objekty jsou to, co provádí váš kód, jsou tou částí vašeho kódu, kterou vidí divák/uživatel. Objekt se skládá především z:

  1. Stát : Je reprezentován atributy objektu. Odráží také vlastnosti objektu.
  2. Chování : Je reprezentován metodami objektu. Odráží také reakci objektu na jiné objekty.
  3. Identita : Je to jedinečný název daný objektu, který mu umožňuje interakci s jinými objekty.
  4. Metoda : Metoda je soubor příkazů, které provádějí nějaký konkrétní úkol a vrací výsledek volajícímu. Metoda může provést nějakou konkrétní úlohu, aniž by cokoliv vrátila. Metody nám to umožňují znovu použít kód bez jeho přepisování, což je důvod, proč jsou brány v úvahu spořiče času . V Javě musí být každá metoda součástí nějaké třídy, která se liší od jazyků jako C , C++ , a Krajta .

font gimp

třída a objekty jeden jednoduchý java program:

Jáva
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();  } }>

Výstup
Employee name is: Rathod Avinash Employee CTC is: 10000.0>

Pojďme nyní diskutovat o 4 pilířích OOP:

mvc pro java

Pilíř 1: Abstrakce

Data Abstrakce je vlastnost, na základě které se uživateli zobrazují pouze podstatné detaily. Triviální nebo nepodstatné jednotky se uživateli nezobrazují. Př.: Na auto se pohlíží spíše jako na auto než na jeho jednotlivé součásti.
Abstrakce dat může být také definována jako proces identifikace pouze požadovaných charakteristik objektu, ignorování nepodstatných detailů. Vlastnosti a chování objektu jej odlišují od jiných objektů podobného typu a také pomáhají při klasifikaci/seskupování objektu.

Vezměme si příklad ze skutečného života muže, který řídí auto. Muž pouze ví, že sešlápnutím plynu se zvýší rychlost auta nebo sešlápnutím brzd se auto zastaví, ale neví, jak při sešlápnutí plynu se rychlost ve skutečnosti zvyšuje. Neví o vnitřním mechanismu vozu ani o implementaci plynu, brzd atd. v autě. Toto je abstrakce.

V Javě se abstrakce dosahuje pomocí rozhraní a abstraktní třídy . Pomocí rozhraní můžeme dosáhnout 100% abstrakce.

Abstraktní metoda obsahuje pouze deklaraci metody, ale ne implementaci.

Ukázka abstraktní třídy

Jáva
//abstract class abstract class GFG{  //abstract methods declaration  abstract void add();  abstract void mul();  abstract void div(); }>

Pilíř 2: Zapouzdření

Je definováno jako zabalení dat do jedné jednotky. Je to mechanismus, který spojuje kód a data, s nimiž manipuluje. Dalším způsobem, jak přemýšlet o zapouzdření, je, že se jedná o ochranný štít, který zabraňuje přístupu kódu mimo tento štít k datům.

  • Technicky v zapouzdření , jsou proměnné nebo data ve třídě skryté před jakoukoli jinou třídou a lze k nim přistupovat pouze prostřednictvím jakékoli členské funkce třídy, ve které jsou deklarovány.
  • V zapouzdření jsou data ve třídě skryta před ostatními třídami, což je podobné tomu, co skrývání dat dělá. Pojmy zapouzdření a skrytí dat se tedy používají zaměnitelně.
  • Zapouzdření lze dosáhnout deklarováním všech proměnných ve třídě jako soukromých a zápisem veřejných metod do třídy pro nastavení a získání hodnot proměnných.

Ukázka zapouzdření:

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

Pilíř 3: Dědictví

Dědictví je důležitým pilířem OOP (Object Oriented Programming). Je to mechanismus v Javě, kterým je jedné třídě dovoleno zdědit vlastnosti (pole a metody) jiné třídy. Dědičnost dosahujeme používáním rozšiřuje klíčové slovo. Dědičnost je také známá jako je vztah.

zmije plná

Proberme některé často používané důležité terminologie:

  • Supertřída: Třída, jejíž vlastnosti jsou zděděny, je známá jako superclass (také známá jako základní nebo rodičovská třída).
  • Podtřída: Třída, která zdědí druhou třídu, je známá jako podtřída (také známá jako odvozená nebo rozšířená nebo podřízená třída). Podtřída může přidat svá vlastní pole a metody navíc k polím a metodám nadtřídy.
  • Opětovná použitelnost: Dědičnost podporuje koncept opětovné použitelnosti, tj. když chceme vytvořit novou třídu a již existuje třída, která obsahuje nějaký požadovaný kód, můžeme naši novou třídu odvodit ze stávající třídy. Tímto způsobem znovu používáme pole a metody existující třídy.

Demonstrace dědičnosti:

Jáva
//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(){} }>

Pilíř 4: Polymorfismus

Odkazuje na schopnost objektově orientovaných programovacích jazyků efektivně rozlišovat mezi entitami se stejným názvem. To provádí Java pomocí podpisu a prohlášení těchto entit. Schopnost objevit se v mnoha podobách se nazývá polymorfismus .

Např.

Jáva
sleep(1000) //millis sleep(1000,2000) //millis,nanos>

Poznámka: Polymorfismus v Javě je převážně 2 typů:

odlévat do provázku
  1. Přetížení
  2. Přepisování

Příklad

Jáva
// 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));  } }>

Výstup
30 60 31.0>

Závěr

Koncept objektově orientovaného programování (OOPs) v Javě je účinný způsob, jak organizovat a psát kód. Využívá klíčové myšlenky, jako jsou třídy, objekty, dědičnost, polymorfismus, zapouzdření a abstrakce, k vytvoření flexibilního a znovu použitelného kódu. Pomocí konceptu Java OOPs mohou programátoři vytvářet složité aplikace efektivněji, což usnadňuje správu, pochopení a úpravu kódu. Celkově koncepty OOP v Javě pomáhají při vytváření robustních a škálovatelných softwarových řešení.

Koncept objektově orientovaného programování (OOPs) v Javě – FAQ

Co je koncept OOPs v Javě?

OOPs (Object-Oriented Programming) je programovací paradigma založené na konceptu objektů, které mohou obsahovat data ve formě polí (atributů nebo vlastností) a kódu ve formě procedur (metod nebo funkcí). V Javě koncepty OOP zahrnují zapouzdření, dědičnost, polymorfismus a abstrakci.

Proč jsou OOP důležité v Javě?

OOPs pomáhá při organizování a strukturování kódu lépe spravovatelným způsobem, což usnadňuje údržbu a škálování Java aplikací. Podporuje také znovupoužitelnost kódu, modularitu a flexibilitu, což vede k efektivnímu a robustnímu vývoji softwaru.

Jaké jsou hlavní principy OOP v Javě?

Hlavní principy OOP v Javě jsou zapouzdření, dědičnost, polymorfismus a abstrakce. Zapouzdření zajišťuje, že vnitřní stav objektu je skrytý a lze k němu přistupovat pouze prostřednictvím veřejných metod. Dědičnost umožňuje jedné třídě dědit vlastnosti a chování od jiné. Polymorfismus umožňuje, aby se s objekty zacházelo jako s instancemi jejich rodičovské třídy. Abstrakce se zaměřuje na skrytí detailů implementace a zobrazení pouze nezbytných informací vnějšímu světu.

Jak jsou OOP implementovány v Javě?

V Javě jsou OOP implementovány prostřednictvím tříd a objektů. Třída slouží jako plán pro vytváření objektů, které jsou instancemi této třídy. Každý objekt má svou vlastní sadu atributů (proměnných) a metod (funkcí). Dodržováním konceptů OOPs, jako je zapouzdření, dědičnost, polymorfismus a abstrakce, mohou vývojáři Javy navrhovat dobře strukturovaný a udržovatelný kód.

Jaké jsou výhody používání OOP v Javě?

Některé výhody používání OOP v Javě zahrnují opětovnou použitelnost kódu, modularitu, flexibilitu, škálovatelnost a snadnější údržbu. OOPs umožňuje vývojářům modelovat entity reálného světa jako objekty, což vede k intuitivnějšímu a organizovanějšímu kódu. Podporuje také funkce jako dědičnost a polymorfismus, které zvyšují rozšiřitelnost a čitelnost Java aplikací.

Můžete uvést příklad implementace konceptu OOPs v Javě?

Tak určitě! Příkladem implementace konceptu OOPs v Javě je vytvoření třídy 'Car' s atributy jako 'make', 'model' a 'year' spolu s metodami jako 'start()', 'accelerate()' a 'stop ()'. Vytvořením instance objektů ze třídy ‚Car‘ a voláním jejích metod můžeme strukturovaně a objektově orientovaným způsobem simulovat chování různých instancí automobilů.