Intuitiveness of Class and Object Encapsulation

dc.contributor.authorVoigt, J.
dc.contributor.authorIrwin, W.
dc.contributor.authorChurcher, N.
dc.date.accessioned2010-06-08T02:47:39Z
dc.date.available2010-06-08T02:47:39Z
dc.date.issued2009en
dc.descriptionorganisers say: The conference proceedings is placed on CDROM (given during the conference period) and it is indexed in the EI Compendex database. The proceeding can also be view on http://www.academicinternational.org/events/icita2009/ which is a mirror of the conference proceedings. Acceptance rate ~40%en
dc.description.abstractEncapsulation is one of the most fundamental programming language mechanisms available to software developers for managing the complexity of software systems. One might therefore expect clear guidelines and consistent practices to be used in mature programming languages, and particularly in object oriented (OO) languages, with their rich support for encapsulation. However, the encapsulation practices employed by OO developers are surprisingly variable, even within a given OO language. Published advice on how best to use encapsulation is conflicting and little research has been done to determine what developers do in practice and why. In this work, we focus on one aspect of encapsulation: the encapsulation boundary in OO systems. In the archetypal OO language Smalltalk, object data is private to an object. On the other hand, in statically typed OO languages such as C# and Java, object data is private to a class. This difference has broad implications for software design and maintenance, especially when inheritance is considered. Using a survey of both novice and experienced software developers, we show that the encapsulation boundary supported by mainstream statically typed languages does not coincide with the intuition of most developers.en
dc.identifier.citationVoigt, J., Irwin, W., Churcher, N. (2009) Intuitiveness of Class and Object Encapsulation. Hanoi, Vietnam: 6th International Conference on Information Technology and Applications, 9-12 Nov 2009. 83-88.en
dc.identifier.isbn978-981-08-3029-8
dc.identifier.urihttp://hdl.handle.net/10092/3962
dc.language.isoen
dc.publisherUniversity of Canterbury. Computer Science and Software Engineeringen
dc.rights.urihttps://hdl.handle.net/10092/17651en
dc.subjectencapsulationen
dc.subjectencapsulation boundaryen
dc.subjectOO designen
dc.subjectinformation hidingen
dc.subject.marsdenFields of Research::280000 Information, Computing and Communication Sciences::280300 Computer Software::280301 Programming techniquesen
dc.subject.marsdenFields of Research::280000 Information, Computing and Communication Sciences::280300 Computer Software::280303 Programming languagesen
dc.subject.marsdenFields of Research::280000 Information, Computing and Communication Sciences::280300 Computer Software::280302 Software engineeringen
dc.titleIntuitiveness of Class and Object Encapsulationen
dc.typeConference Contributions - Published
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
12622833_ICITA-2009-31-nz-Voigt-130.pdf
Size:
703.64 KB
Format:
Adobe Portable Document Format