Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Prečo abstraktné triedy v jazyku Java

? Tried Java definujú objekty , vykonávať úlohy aplikácie . V rámci projektov Java programátori definovať tieto objekty vytvorením triedy vyhlásenie . Vyhlásenie trieda opisuje vlastnosti nejaké inštancie objektu triedy bude mať , rovnako ako metódy, ktoré budú realizovať . Vo väčšine prípadov možno programy v jazyku Java vytvárať objekty akýchkoľvek tried s triedou vyhlásení uvedených . Avšak , v prípade , že trieda je abstraktná , nemôže byť vytvorená . Implementácia

Normálne, keď program obsahuje vyhlásenie o triedu , iný kód môžete vytvárať inštancie objektu triedy uvedené v ňom . Keď sa to stane , bude výsledný objekt uloženie dát a implementovať metódy uvedené v deklarácii triedy . Keď program deklaruje triedu ako abstraktné , môže to nestane , pretože nemožno vytvoriť objekty triedy . Nasledujúci kód vzorky demonštruje deklarovať triedu ako abstraktné : .

Public abstract class GreatHelper

rozdiel od non - abstraktných tried , môže byť projekt , v ktorom sa zobrazí tento kód nie je možné vytvoriť " GreatHelper " inštancia objektu

Inheritance

Hoci programy nemožno konkretizovať abstraktné triedy , môžu ich predĺžiť . Dedičnosť Java umožňuje programátorom rozšíriť súčasné vyhlásenia triedy pomocou nasledujúcej syntaxe :

public class SpecificHelper rozširuje GreatHelper

trieda rozširuje inú triedu , dedia metódy a vlastnosti nadradenej triedy . Rozšírenie triedy môžu tiež poskytovať ďalšie funkcie v hornej časti zdedených nadradenej triedy premenných a metód . Dedičnosť je teda spôsob , ako poskytovať špecializované funkcie , s podtriedy so špecializáciou v oblasti zodpovednosti sa vzťahuje všeobecnejšie nadradenej triedy . Vďaka abstraktné triedy , tento princíp dedičnosti uplatňuje tiež , takže podtriedy abstraktných tried môžu byť inštancie , aj keď ich rodičia nemôžu .
Účel

Abstraktné triedy umožňujú programátorom vytvárať definície sady objektov , ktoré budú mať niektoré spoločné vlastnosti , ale aj niektoré rozdiely . Abstraktné triedy zvyčajne len čiastočne plnili svoje povinnosti , zatiaľ čo ich podtriedy môžu poskytnúť podrobnejšie prevedení vhodný pre konkrétnu situáciu . Abstraktné triedy môže obsahovať abstraktné a non - abstraktné metódy . Abstraktné metódy sa môžu objaviť len v rámci abstraktných tried , s požiadavkou , aby podtriedy bude vykonávať tieto metódy, ak aj oni sú abstraktné .
Alternatívy

hlavnou alternatívou k vytvoreniu abstraktné triedy v Jave je vytvorenie rozhrania . Keď program obsahuje rozhranie , môže triedny vyhlásenie implementovať toto rozhranie , skôr než rozšírenie ako v prípade abstraktné triedy . Funkcie rozhrania , ako je zmluva , ktorá definuje metódy , ktoré sa vykonáva triedy musí poskytnúť , avšak bez poskytnutia akýchkoľvek informácií samotnú realizáciu . Rozhranie možno uviesť spôsoby iba pomocou ich obrysy , pri vykonávaní tried , ktoré poskytujú podrobnosti metódy . Nasledujúci kód vzorky demonštruje vyhlásenia trieda , ktorá implementuje rozhranie :

public class SomeHelper rozširuje HelpfulOrganizer klipart

V vyhlásení rozhrania , môže metóda obrysy vyzerať takto : Spojené

public string getWords ( ) ;

Na rozdiel od abstraktných tried , môže rozhranie neposkytuje žiadne detaily implementácie
.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené