还剩27页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
面向对象程序设计面向对象程序设计是一种编程范式它将程序视为一系列相互作用的对象每个对,,象都有自己的数据和行为这种方法使得代码更加模块化、可重用和易于维护什么是面向对象封装继承面向对象将数据和行为封装在称通过继承机制可以创建新的类,,为类的单元中保护内部实现细复用现有类的属性和方法实现,,节提供统一的接口代码重用,多态抽象化多态允许在不同对象之间使用相通过抽象化可以定义更高层次,同的接口增强代码的灵活性和的概念和行为隐藏具体实现细,,可扩展性节面向对象的基本概念类和对象封装类是对象的抽象模板定义了对象封装将对象的内部实现细节与外,的属性和行为对象则是类的具部接口隔离提高了数据的安全性,体实例拥有类所定义的特性和可靠性,继承多态继承允许新的类继承已有类的属多态使得不同类型的对象能够以性和方法实现代码复用并构建层相同的方式进行交互提高了代码,,次化的类结构的灵活性和可扩展性类和对象类的概念对象的概念类与对象的关系类是一个用于对具有共同特征和行为的一组对象是类的实例化产物,具有类定义的属性类是对象的抽象和模板,而对象是类在实际对象进行抽象和描述的模板它定义了对象和行为每个对象都有自己独特的数据状态应用中的具体体现类定义了对象的共性,的属性和方法,为创建对象提供了蓝图,可以响应类提供的方法对象则体现了类的个性类的定义与组成类的概念1类是对具有相同属性和行为的对象的抽象和封装类的组成2类由属性和方法组成,描述了对象的状态和行为属性定义3属性是类的成员变量,用于描述对象的特征方法定义4方法是类的成员函数,用于描述对象的行为类是面向对象程序设计的基础单元,通过定义类的属性和方法来描述对象的特征与行为类的定义为对象赋予了统一的模板,为后续实例化对象创造了基础对象的创建与使用实例化1使用关键字创建对象实例new引用赋值2将对象引用赋值给变量属性访问3通过对象访问属性和方法对象是面向对象程序设计的基本单元我们可以通过关键字创建对象实例并将对象引用赋值给变量之后我们就可以通过对象访问new,它的属性和方法实现功能的调用掌握这些基本操作是使用面向对象技术的关键,封装封装的概念封装的好处封装的实现封装是面向对象编程的三大特封装可以提高代码的复用性和通过访问控制修饰符、public性之一它将数据和行为包装可维护性减少程序内部状态、来隐藏类,protected private在一起,隐藏内部实现细节,的操作错误增强程序的安全的内部实现细节只暴露必要,,仅向外部暴露必要的接口性的公共接口封装的实现数据隐藏1通过将类的属性设置为私有或受保护访问权限可以实现对内部,数据的隐藏防止外部直接访问和修改,提供访问方法2类提供公共的和方法供外部间接访问和修改对象的getter setter,属性增强了数据的安全性,限制权限范围3合理划分类的成员访问权限将需要隐藏的数据和方法设为私有,,提高封装性访问控制访问权限通过访问控制可以限制对类、方法和属性的访问权限提高程序的安全性,,隐藏实现合理的访问控制可以将类的内部实现细节隐藏降低耦合度提高可维护性,,安全机制访问控制是面向对象程序设计中的重要安全机制有助于保护数据和功能,初识继承继承概念继承是面向对象程序设计的一个重要特性,它允许创建新类时复用现有类的特性类层次结构继承形成了一种自上而下的类层次结构,子类能够访问父类的属性和方法代码复用继承能够提高代码的复用性,减少重复编写的工作量,提高开发效率继承的概念定义基本功能优势类型继承是面向对象程序设计的核通过继承新的类可以获得父继承可以减少重复代码提高常见的继承类型包括单继承和,,心思想之一它允许从已经存类的属性和方法并且可以对代码的可维护性和扩展性同多继承它们分别用于描述一,,在的类中派生出新的类,从而这些属性和方法进行扩展或者时它也支持多态实现了灵活个类继承自一个或多个父类的,实现代码的重用和抽象重写的程序设计关系单继承与多继承单继承多继承每个类只能继承一个父类这种单一个类可以同时继承多个父类拥,,一继承关系简单明确易于代码管有多种属性和行为但实现复杂,,理和维护可能导致菱形继承问题适用场景单继承适用于大多数面向对象设计多继承适用于需要灵活组合多种特性的,复杂系统方法重写与多态方法重写多态12子类可以重写从父类继承的方多态允许不同对象以不同方式法以实现不同的功能或行为响应同一个消息或方法调用,这样可以提高代码的灵活性和对象能够以其自身的方式呈现可扩展性其行为动态绑定应用场景34多态的实现依赖于动态绑定即方法重写和多态广泛应用于,在运行时决定调用哪个方法实、游戏开发、机器学习等GUI现这可以提高代码的可维护领域提供了灵活的编程模型,性实现多态的条件方法重写继承关系引用变量多态多态要求子类重写从父类继承的方法以实多态需要建立在继承关系的基础之上子类在使用父类引用调用子类对象方法时会根,,,现不同的行为子类中被重写的方法具有与对象必须可以赋值给父类对象据实际对象类型执行不同的方法实现这就,父类同名同参数的方法是多态的体现接口与抽象类接口Interface定义了一组标准方法,规范类的行为实现接口的类必须实现接口中所有方法抽象类Abstract Class包含抽象方法和具体方法子类必须实现抽象方法,可以复用具体方法差异比较接口是一种规范,抽象类是一种模板接口定义,抽象类定义公共行为API接口的作用与特点标准化API抽象层级支持多态接口定义了软件组件之间的规范化通信接口接口提供了一个抽象层将实现细节与客户接口支持面向接口编程使得具体实现可以,,确保不同部分之间的互操作性端逻辑隔离提高系统的灵活性灵活替换而不影响客户端调用,,抽象类的作用与特点抽象类的作用抽象类的特点抽象类作为一种模板用于定义一组子类共同的属性和行为它为抽象类不能被实例化只能被继承抽象方法必须在子类中被重写,,子类提供了一个统一的接口有利于程序的设计和维护实现抽象类可以包含具体方法和抽象方法的混合,简单工厂模式简单工厂模式定义简单工厂模式特点简单工厂模式是一种创建型设计通过一个工厂类根据客户端的需模式提供了一种创建对象的方式求创建不同的产品对象使得客户,,,它创建对象的过程被封装在工厂端无需了解具体的创建过程这类中客户端无需关心具体的创建种方式将客户端和具体产品实现,过程的代码分离简单工厂模式应用场景在需要创建多种不同但又相关类型的对象时简单工厂模式可以帮助客户端,从创建对象的细节中解脱出来工厂方法模式定义优点工厂方法模式定义了一个创建对避免创建对象时的条件逻辑将,象的接口但让子类决定实例化对象创建的工作延迟到子类提,,哪个类工厂方法模式将对象的高扩展性符合开闭原则,创建延迟到子类应用场景当无法预知对象类型时例如数据库连接、日志记录等可以根据不同需,求灵活创建对应的对象抽象工厂模式创建产品族增强灵活性12抽象工厂模式提供一个创建一该模式可以轻松地切换不同产系列相关或依赖对象的接口,品族的实现,增强了系统的灵无需指定它们具体的类活性和可扩展性解耦具体实现应用场景广泛34抽象工厂隔离了具体类的创建该模式广泛应用于框架、GUI,客户端只需要与抽象的工厂数据库连接池、报告生成等需接口交互要动态切换不同产品族的场景单例模式确保唯一实例全局访问点单例模式确保一个类在整个系统通过提供一个全局访问点,客户中只存在一个唯一实例,避免重端可以轻松获取该唯一实例,降复创建浪费系统资源低复杂度延迟初始化单例模式采用延迟初始化的方式,仅在首次访问时创建实例,提高性能观察者模式关键角色实现机制应用场景观察者模式包括目标、观察者目标管理一个观察者列表,在状态变化时通观察者模式适用于一个对象的状态变化需要Subject和具体目标、知所有的观察者观察者注册到目标上并接通知其他对象的场景如模式、消息订Observer ConcreteSubject,MVC具体观察者这四个关键收更新通知,更新自己的状态阅等ConcreteObserver角色状态模式状态切换对象根据内部状态的不同而表现出不同的行为上下文管理对象的行为受到当前状态的影响和控制封装状态状态的定义和转换逻辑被封装在对象内部策略模式灵活性代码简洁可复用性可扩展性策略模式通过将算法封装在独策略模式将算法的实现与使用策略模式可以将算法封装为独策略模式允许轻松地添加新的立的策略类中可以轻松地在分离避免了大量的条件语句立的类增强了算法的复用性策略而无需修改客户端代码,,,,,,,不同的算法之间切换提高了使得代码更加简洁和易维护便于在不同的场景中使用从而提高了程序的可扩展性,程序的灵活性和可扩展性模板方法模式定义应用优点模板方法模式是行为型设计模式之一它定该模式可用于封装算法的公共部分让子类模板方法模式提高了代码复用性封装了变,,义了一个算法的骨架,而将一些步骤的实现实现特定部分从而避免代码重复化并可实现钩子方法扩展,,延迟到子类适配器模式模式概念应用场景实现方式优点和缺点适配器模式用于将一个类的接当需要使用一个已经存在的类通常有两种实现方式类适配优点是可以重用现有的类提:,口转换成客户端期望的另一个但其接口不符合当前需求时器模式使用继承和对象适配高复用性缺点是增加了系统,,;接口它使得原本由于接口不可以使用适配器模式进行适配器模式使用组合前者更加的复杂度同时目标接口和适,兼容而不能一起工作的类可以例如使用第三方库时经常会灵活后者更加松耦合配者接口不一致将导致适配过,一起工作遇到此问题程中的错误装饰模式灵活性解耦继承关系简单装饰模式通过动态地给对象添加功能,装饰模式将核心功能和附加功能解耦,装饰模式无需使用多重继承来实现功能提高了系统的灵活性和可扩展性可以提高了代码的可维护性和可读性可以的扩展,避免了继承关系过于复杂的问在不修改原有对象的基础上增强其功能根据需求灵活地添加或删除功能题外观模式简化接口降低耦合外观模式提供了一个简化和统一通过外观模式客户端与子系统,的高层接口隐藏了系统的内部的依赖关系降低提高了系统的,,复杂性灵活性提高复用性易于维护外观模式封装了子系统的实现细外观模式将系统的复杂性隔离,节使得子系统更容易重用改变子系统内部实现时不影响客,户端总结与展望总结回顾我们在面向对象设计中学习的各种概念和技术为您的编程实践提供全面的指导,展望未来展望面向对象设计的发展趋势为您未来的学习与实践指明方向,实践应用建议您结合实际项目将所学知识灵活应用不断提高编程能力,,。
个人认证
优秀文档
获得点赞 0