z-logo
open-access-imgOpen Access
Interfaces first (and foremost) with Java
Author(s) -
Paolo A. G. Sivilotti,
Matthew Lang
Publication year - 2010
Publication title -
citeseer x (the pennsylvania state university)
Language(s) - English
Resource type - Conference proceedings
DOI - 10.1145/1734263.1734436
Subject(s) - java , computer science , component (thermodynamics) , programming language , abstraction , class (philosophy) , component based software engineering , software engineering , object oriented programming , javabeans , java annotation , coding (social sciences) , real time java , software , software development , artificial intelligence , epistemology , thermodynamics , philosophy , statistics , physics , mathematics
ion is a critical concept that underlies many topics in computing science. For example, in software engineering, the distinction between a component's behavior and its implementation is fundamental. Java provides two constructs that correspond to precisely this distinction: A Java interface is a client's abstract view of a component's behavior, while a class is a concrete implementation of that same component. We have developed a course that introduces Java while following a discipline of diligently decomposing every component into these two separate linguistic elements. In this course, interfaces are given the same prominence as classes since both are needed for a complete component. This approach is helpful to students by providing: (i) a clear manifestation of the role of abstraction in software systems, and (ii) a framework that naturally motivates many good coding practices adopted by professional programmers.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here
Accelerating Research

Address

John Eccles House
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom