面向对象方法学:从传统到创新

需积分: 17 2 下载量 77 浏览量 更新于2024-08-23 收藏 641KB PPT 举报
"面向对象方法学导论 - 两种方法重用对象类的介绍及传统方法学的缺点" 在软件工程领域,面向对象方法学(Object-Oriented Methodology,OOM)已经成为主流的设计和开发范式,它以对象为核心,强调数据和操作的封装以及对象间的通信。本资源主要探讨了两种重用对象类的方法,并分析了传统方法学的不足之处。 首先,重用对象类主要有两种方式: 1. **创建实例**:当需要使用一个特定的功能或数据结构时,可以直接创建该类的实例,从而直接利用已定义的属性和方法。这种方法使得代码复用变得简单,同时也提高了开发效率。 2. **派生新类**:另一种方法是根据现有类进行派生,创建一个新的子类,这个子类继承父类的特性并可以添加、修改或覆盖原有特性以满足新的需求。这种方式允许我们保持原有代码的稳定,同时为特定场景提供定制化的解决方案。 接下来,传统方法学(如结构化分析SA、结构化设计SD和结构化编程SP技术)的缺点主要包括: 1. **功能分解中心**:传统方法以功能为中心进行分解,当用户需求针对功能变化时,往往导致系统结构的大幅度调整,不利于理解和维护。 2. **明确边界定义**:系统边界清晰,这使得系统的扩展和修改变得困难,不符合现代软件需求的灵活性。 3. **数据与操作分离**:数据与操作的分离可能导致软件组件对特定应用环境的过度依赖,降低了组件的可重用性。 面向对象方法学(OOM)为克服这些缺点提出了新的解决方案。例如,OOM的核心是**对象**,它将数据(属性)和操作(方法)封装在一起,形成一个独立的实体,通过**消息传递**实现对象间的交互。这种设计更加接近人类思维方式,以数据为主线,使得问题域和求解域的结构更加一致。 OOM的特点还包括: 1. **封装性**:对象内部的属性对外部用户不可见,只能通过公开的方法(即接口)进行访问和操作,保护了数据的安全性。 2. **继承性**:通过继承,子类可以继承父类的属性和方法,实现代码的重用和扩展。 3. **多态性**:同一消息可以有不同的响应方式,取决于接收消息的对象类型,增强了代码的灵活性和可扩展性。 4. **抽象性**:通过对现实世界实体的抽象,创建代表特定概念或实体的对象,使得软件更接近实际问题。 通过面向对象方法学,软件设计更加模块化,易于理解和维护,且适应需求变化的能力更强。面向对象编程(OOP)就是基于这些原理的一种编程范式,它提倡通过定义和组合对象来构建复杂的系统,以提高软件的可维护性和可重用性。在实际应用中,如信息与电子工程学院的案例所示,OOM可以帮助开发者更有效地构建和管理软件项目。