面向对象技术的理论和应用方法,本质上是一种自然地表示客观世界的思维方法,是超越问题论域的复杂性障碍,实现可计算性的软件设计方法.学习面向对象分析,设计和编程(OOA/OOD/OOP),不仅能够掌握计算机软件设计的一个重要的方法,而且可以帮助养成良好的研究解决实际问题的工作方法和作风.因此,在清华大学课程设置改革中,我们把原来对研究生开设的该课程,在教学内容和方法上结合本科学生情况进行调整,在大学本科三年级开设"面向对象分析设计与编程"课,为学生参加社会实践和毕业设计作准备.经过教学实践,学生普遍反映这门课程十分解渴,对于能力培养大有神益.本教材是根据我们的课堂教学讲义编写的,在内容上,既教授面向对象分析的基本方法,又讲述面向对象的设计和编程实现,形成逻辑合理的一体化系统.在课程实习作业中,我们只提出必须达到的规范要求,而让学生自由选择C++或Java作为工具.学习本课程不要求先学C语言,而是让学生直接以面向对象分析和设计为起点,能够较快地掌握新的程序设计方法.