什么是面向对象,什么是面向过程

什么是面向对象,什么是面向过程

面向对象:

把软件组织成一系列离散的,合并了数据结构和行为的对象.

 

类中的大部分数据,只能用本类的方法进行处理.

类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信.

程序流程是由用户在使用中决定的.

 

面向对象的四个方面:

1.标识

数据被量化成称之对象的离散的实体.每个对象都有它自己的内部标识.即使所有的属性都相同,两个对象也是有差别的.

 

2.分类

拥有相同数据结构(属性)和行为(操作)的对象被分组成一个类.

 

3.继承

多个类基于一种分层关系,共享类间的属性和操作(合称为特征)

 

4.多态

对于不同的类来说相同的操作会有不同的动作.

 

面向对象的基本概念:

1. 对象

把数据(属性)及数据的操作方式(方法)放在一起,作为一个相互依存的整体就是对象

 

2.对象的状态和行为

对象的状态,一个对象的数据值来描述他的状态

 

对象的操作,用于改变对象的状态,对象及其操作就是对象的行为

 

对象实现了数据和操作的结合,是数据和操作封装与对象的统一体中.

 

3.类

具有相同或相似性质的对象的抽象就是类.

因此,对象的抽象就是类,类的具体化就是对象,也可以说类的实例就是对象

 

类的状态,就是对象的状态的抽象,用数据结构类描述他的属性.

 

类的操作,就是对象的行为的抽象,用操作名实和实现该操作的方法来描述.

 

4.类的结构

通常有两种主要的结构关系,及一般---具体结构关系, 整体—部分结构关系.

 

一般—具体结构被称为分类关系,也可以说是”或”的关系.

整体—部分结构被称为组装关系,也可以说是”与”的关系

 

5.消息和方法

对象之间进行通信的结构被叫做消息.

在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行的某种操作的信息.

发送一条信息至少要包括说明接收消息的对象名,发送给该对象的消息名称(对象名,方法名).

一般还要对参数进行说明,参数是可以认识该消息的对象所知道的变量名,或是所有对象都知道的全局变量名

 

面向对象的特征:

1.对象唯一性

每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象.在对象的整个生命期中,他的标识都不改变,不同的对象不能有相同的标识

 

2.抽象性

抽象性是指将具有一致的数据类型(属性)和行为(操作)的对象抽象成类.一个类就是这样的一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容,任何类的划分都是主观的,但必须与具体的应用有关.

 

3.继承性

继承是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系.在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容.

 

继承性是面向对象程序设计语言不同其他语言的最重要的特点,是其他语言没有的.

 

在类层次中,子类只能继承一个父类的数据结构和方法,则称为单重继承.

 

在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承.

 

多重继承, Java ,Vb,NET,均仅支持单继承,在使用C++多继承时,注意二义性.

 

继承性的作用

在软件开发中,类的继承性使所建立的软件具有开放性,可补充性,这是信息组织与分类的行之有效的方法,它简化了对象,类的创建工作量,增加了代码到可重用性.

 

采用继承性,提供了类的规范的等级结构.通过类的继承关系,使公共的特性能够共享,提高了软件的重用性.

 

 

4.多态性(多形性)

多态性是指相同的操作或函数,过程可作用于多种类型的对象上并获得不同的结果.

不同的对象,收到同一信息可以产生不同的结果,这种现象称之为多态性.

多态性允许每个对象以合适自身得方法去响应共同的信息.

多态性的作用

多态性增强了软件的灵活性和重用性.

 

面向对象的要素:

1.抽象

抽象是指强调实体的本质,内在的属性.

 

抽象的作用:

使用抽象可以尽可能避免过早考虑的一些细节.

 

2.封装性(隐藏性)

封装性是保证软件部件具有优良的模块性的基础.

 

封装的作用:

对象是封装的最基本的单位.

封装防止了程序互相依赖性而带来的变动影响.

面向对象的封装比传统语言的封装跟清晰,给为有力.

 

 

3.共享性

面向对象技术在不同级别上促进了共享

同一类的共享.同一类的对象是有着相同的数据结构.这些对象之间是结构,行为特征的共享关系.

 

在同一应用中共享.在同一应用的类层次结构中,存在继承关系的各相似子类中,存在数据结构和行为的继承,是各相似子类共享共同的数据结构和行为.使用继承来实现代码的共享,这也是面向对象的主要优点之一.

 

在不同应用中共享.面向对象不仅允许在同一应用中共享信息,而且为未来目标的可重用设计准备了条件.通过类库这种机制和结构来实现不同应用中的信息共享.

 

 

面向过程:

自顶向下顺序执行,逐步求精;

其程序结构是按功能划分为若干个基本模块,这些模块形成一个树状结构;

各模块之间的关系尽可能简单,在功能上相对独立(解耦合).

每一模块内部均是由顺序,选择和循环三种基本结构组成;

其模块化实现的具体方法是使用子程序.程序流程在写程序时就已决定.


转至:https://baike.so.com/doc/3145517-3315043.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值