面向对象技术:抽象方法与历史发展

需积分: 10 2 下载量 120 浏览量 更新于2024-08-14 收藏 22.89MB PPT 举报
面向对象技术是一种以面向对象方法学为核心的软件系统组织和结构设计策略,它的核心概念包括抽象方法和抽象类。在面向对象编程中,抽象方法是指没有实际函数体(即无具体实现)的方法,通常在类的声明中使用`abstract`关键字进行标记,以表明这个方法需要在子类中被覆盖(override)来实现。抽象方法不能是静态的,因为它不能直接实例化。 抽象类则是指包含一个或多个抽象方法的类,目的是为了提供一种模板或框架,子类必须继承并实现这些抽象方法,从而确保所有子类遵循相同的接口。如果子类完全继承了抽象类,但没有实现所有的抽象方法,那么这个子类本身也必须是抽象的。抽象类的设计理念是为了支持软件的复用和维护,以及通过封装和继承实现代码的模块化。 在面向对象技术的发展历程中,它起源于对软件工程的不断优化需求。早期的编程语言如机器语言、汇编语言是面向机器的,然后出现了通用语言,如FORTRAN和BASIC,这些都是面向过程的,它们侧重于描述解题过程。随着结构化编程的兴起,C和PASCAL成为结构化程序设计的代表。然后是C++和Java等面向对象语言的出现,它们强调了类和对象的概念,使得程序设计更贴近人类的认知过程,实现了从面向过程到面向对象的转变。 面向对象方法学的基本内涵包括五个方面:一是客观世界的实体(对象)构成程序的核心;二是每个对象有自己的内部状态和行为规则;三是基于对象的相似性进行分类,简化设计;四是复杂问题可以通过简单对象的组合解决;五是对象间通过消息传递进行交互,反映现实世界中的事件驱动。 认知规律在面向对象设计中起到了指导作用,例如归纳法是从特殊案例推广到一般原则,而演绎法则是在已知一般原则下推导具体应用。这些原则帮助开发者理解如何将抽象方法和抽象类应用于实际编程,以创建更加灵活、可维护和可扩展的软件系统。随着时间的推移,面向对象技术已经成为现代软件开发中的主流范式,它提高了软件质量和生产效率。