Exploring accessibility and visibility relationships in java

  • Authors:
  • James H. Cross, II;T. Dean Hendrix;David A. Umphress;Larry A. Barowski

  • Affiliations:
  • Auburn University, Auburn, AL, USA;Auburn University, Auburn, AL, USA;Auburn University, Auburn, AL, USA;Auburn University, Auburn, AL, USA

  • Venue:
  • Proceedings of the 13th annual conference on Innovation and technology in computer science education
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Inheritance and polymorphism are important OOP topics in CS1 and CS2. While these concepts are generally straightforward, there are subtleties that may leave students confused. For example, accessibility of a field in an object is generally determined by the declaring type and access modifiers of the field, and the context in the executing program from which the field is referenced. The dynamic object viewers in jGRASP have been expanded to allow the user to: (1) change the declared type of the object reference to any compatible type and (2) change the accessibility context of the object reference. These options enable the user to explore accessibility and visibility relationships by experimenting with any object on the workbench or in the debugger. Symbols, color, and text are used in the viewer to indicate inheritance relationships, accessibility, and visibility of fields and methods. Initial classroom use has demonstrated the potential for these new viewer features as an aid to students who are learning about inheritance and polymorphism.