IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Reflexe - Předpis třídy (Machr na OOP)

Zde je můj první výtvor, který zde publikuji. Jedná se o knihovnu (s hlavní třídou Inspector) vytvořenou do soutěže Machr.

Její účel je poskytnutí metody, která vypíše předpis zdrojového kódu třídy, včetně dosazených hodnot do proměnných. Možnosti výpisu jsou:

  • Do konzole (OutputType.Con­sole)
  • Do souboru ve složce APPDATA, identifikovaného pomocí jména třídy, data a času (OutputType.File)
  • Jako String pro pozdější užití v kódu (například pro vypsání do TextArea), přes návratový typ String, do metody doplnit místo OutputType null

Samotný objekt se předává již v konstruktoru, aby s ním bylo možné pracovat vícekrát. Taktéž je možnost použít přímo Class object místo objektu. To se hodí například pro statické třídy.

Pokud nastane chyba při získávání dat například o metodě (můžeme narazit na úplně libovolné třídy, tudíž nemůžu mít naprosto vše ošetřené), tak program metodu přeskočí a po skončení výpisu do konzole vypíše hlášku o počtu těchto výjimek.

Kód může působit velice nepřehledně díky všemožným úpravám Stringů za účelem převedení získaných dat do té "čisté" jazykové syntaxe, proto je místy opatřen komentáři, vše je psáno v anglickém jazyce.

Jsem si jist, že je na něm ještě hodně co vylepšovat, pokud někoho něco napadne, klidně pište do komentářů svoje postřehy :)


Galerie

Program byl vytvořen v roce 2016.

 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 42x (73.11 kB)
Aplikace je včetně zdrojových kódů v jazyce Java

 

Všechny články v sekci
Zdrojákoviště Java - Objektově orientované programování
Program pro vás napsal pocitac770
Avatar
Uživatelské hodnocení:
Ještě nikdo nehodnotil, buď první!
Autor se věnuje programování desktopových aplikací v jazyce Java/C#
Aktivity