computeClassLinearization      package:RBioinf      R Documentation

_C_o_m_p_u_t_e _t_h_e _C_l_a_s_s _L_i_n_e_a_r_i_z_a_t_i_o_n

_D_e_s_c_r_i_p_t_i_o_n:

     There are a number of different methods for computing the class
     linearization. The methods described here are discussed in more
     detail in the vignette for this package. 'LPO' and
     'computeClassLinearization' are  aliases, the former being easier
     to type, the latter more descriptive.

_U_s_a_g_e:

     computeClassLinearization(inClass, C3 = FALSE)
     LPO(inClass, C3 = FALSE)

_A_r_g_u_m_e_n_t_s:

 inClass: The class for which a linearization of its  is wanted. 

      C3: Whether or not to use the C3 method in computing the
          linearization.

_D_e_t_a_i_l_s:

     For many different computations, especially method dispatch, an
     algorithm for specifying a linear order of the class inheritance
     tree is needed. All object oriented programming languages support
     the computation of a linearization.  Local precedence order (LPO)
     uses the order of the direct superclasses, given in the class
     definition, in computing the linearization, with earlier
     superclasses considered more specific than later ones.  If there
     are no duplicate class labels in the hierarchy then this is then
     simply a bread-first search of the superclass definitions. But
     when one or more classes are inherited from different superclasses
     this definition becomes more complicated, and can in fact not be
     satisfied.

_V_a_l_u_e:

     A vector with the class linearization, the.

_A_u_t_h_o_r(_s):

     R. Gentleman

_R_e_f_e_r_e_n_c_e_s:

     Monotonic Superclass Linearization for Dylan,  K. Barrett and
     others, 1996, OOPSLA

_E_x_a_m_p_l_e_s:

     setClass("object")
     setClass("grid-layout", contains="object")
     setClass("horizontal-grid", contains="grid-layout")
     setClass("vertical-grid", contains="grid-layout")
     setClass("hv-grid", contains=c("horizontal-grid", "vertical-grid"))
     LPO("hv-grid")

