概述
面向对象的分析根据抽象关键的问题域来分解系统。面向对象的设计是一种提供符号设计系统的面向对象的实现过程,它用非常接近实际领域术语的方法把系统构造成“现实世界”的对象。面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想,这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合,或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的“机器”,即对象。
面向对象是在结构化设计方法出现很多问题的情况下应运而生的。结构化设计方法求解问题的基本策略是从功能的角度审视问题域。它将应用程序看成实现某些特定任务的功能模块,其中子过程是实现某项具体操作的底层功能模块。在每个功能模块中,用数据结构描述待处理数据的组织形式,用算法描述具体的操作过程。面对日趋复杂的应用系统,这种开发思路在下面几个方面逐渐暴露了一些弱点。
特征
⑴
对象唯一性。
每个
对象都有自身唯一的标识,通过这种标识,可找到相应的
对象。在
对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。
⑵
抽象性。
抽象性是指将具有一致的
数据结构(属性)和行为(操作)的对象
抽象成类。一个类就是这样一种
抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。
⑶
继承性。
继承性是子类自动共享父类
数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。
⑷
多态性(多形性)
多态性是指相同的操作或函数、过程可作用于多种类型的
对象上并获得不同的结果。不同的
对象,收到同一消息可以产生不同的结果,这种现象称为
多态性。
多态性允许每个
对象以适合自身的方式去响应共同的消息。
多态性增强了软件的灵活性和重用性。
要素
⑴抽象。
抽象是指强调实体的本质、内在的属性。在系统开发中,
抽象指的是在决定如何实现
对象之前的对象的意义和行为。使用
抽象可以尽可能避免过早考虑一些细节。
类实现了
对象的数据(即状态)和行为的
抽象。
⑵
封装性(
信息隐藏)。
封装性是保证软件部件具有优良的模块性的基础。
面向
对象的类是
封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的
作用域提供保护。
对象是
封装的最基本单位。
封装防止了程序相互依赖性而带来的变动影响。面向
对象的
封装比传统语言的封装更为清晰、更为有力。
⑶共享性
面向对象技术在不同级别上促进了共享
同一类中的共享。同一类中的
对象有着相同
数据结构。这些
对象之间是结构、行为特征的共享关系。
在同一应用中共享。在同一应用的
类层次结构中,存在
继承关系的各相似子类中,存在
数据结构和行为的继承,使各相似子类共享共同的结构和行为。使用
继承来实现代码的共享,这也是面向
对象的主要优点之一。
在不同应用中共享。面向
对象不仅允许在同一应用中共享信息,而且为未来目标的可重用设计准备了条件。通过类库这种机制和结构来实现不同应用中的信息共享。
⒋强调对象结构而不是程序结构
转载于:https://www.cnblogs.com/WY404683569/p/5002387.html
最后
以上就是唠叨钻石为你收集整理的面向对象的全部内容,希望文章能够帮你解决面向对象所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复