pátek 3. dubna 2015

Uložení atributu třídy jako grafu

Gramatika jazyka Java specifikuje deklaraci atributů třídy následujícím popisem.
FieldDeclaration:
    FieldModifiersopt Type VariableDeclarators ;
 Akceptovatelné modifikátory pro atributy jsou:
  • Annotation
  • public
  • protected
  • private
  • static
  • final
  • transient
  • volatile
Annotation značí anotaci atributu a bude v grafu zaznačena vztahem have_annotation podobně jako je tomu u metod nebo tříd. Přístupové modifikátory public, protected a private budou opět zaznamenány ve vlastnosti access. Všechny ostatní modifikátory, tedy static, final, transient a volatile, budou v grafu interpretovány vlastní vlastností se stejnojmenným názvem a pravdivostní hodnotou.

Další část deklarace Type specifikuje datový typ atributu. Podobně, jako je tomu u návratových hodnot metod a datového typu parametrů metod, bude tato vlastnost charakterizována vztahem s názvem is_type, který bude mezi vrcholem atributu a referencovaným typem. Jetliže bude datový typ atributu generický, tedy že datový typ atributu bude znám až po instanciaci, bude vztah značící datový typ  navázán na speciální vrchol pro typové parametry.

Poslední částí je určení názvu atributu, který může obsahovat buď pouze název atributu, název s označením atributu jako pole (označí se hranatými závorkami), nebo inicializaci atributu. Název se ukládá do vlastnosti name. Jestliže se však jedná o pole, není vrchol atributu spojen čistě s vrcholem datového typu ve vztahu is_type. Potom se mezi těmito vrcholy nacházi další vrchol typu pole, který značí, že se jedná o pole. V tomto vrcholu se uchovává pouze jediná věc a to, jakého datového typu je. Tento vztah je pojmenován main_type.

Shrnutí pole

Vlastnosti:
Vztahy:
  • main_type (Třída)

Shrnutí atributu

Vlasnosti:

  • name (String)
  • static (yes/no)
  • final (yes/no)
  • access (public/private/protected)
  • transient (yes/no)
  • volatile (yes/no)
Vztahy:
  • have_annotation (Anotace)
  • is_type (Třída)
Nyní si ukážeme jednoduchý příklad uložení atributů třídy do grafu. Následuje zdrojový kód v jazyce Java, který deklaruje několik atributů a poté je vyobrazen relevantní graf.


1
2
3
4
public class Trida{
 public static String pole[];
 private transient int pocet;
}




Zdroje:
http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.3

Žádné komentáře:

Okomentovat