Object-oriented languages can potentially make a great contribution to enhancing software quality and supporting the software engineering process. Despite this potential, we contend that a number of central features of object-oriented languages are in fact contrary to wellknown software engineering principles and goals and therefore represent a hindrance to software engineering rather than a contribution. In this paper we look at the class construct, inheritance, genericity and at object-oriented collection frameworks and suggest ways these could be modified to better supporting software engineering principles.
展开▼