1面向对象

基本概念

面向对象的基本概念有:对象、类、消息。

面向过程程序设计

在面向过程的结构化程序设计中,程序模块是由函数构成,函数将对数据处理的语句放在函数体内,完成特定的功能,数据则通过函数参数传递进入函数体。

面向对象程序设计

在面向对象的程序设计中,程序模块是由类构成的类是对逻辑上相关的函数与数据的封装,它是对问题的抽象描述。

面向对象的程序设计方法就是运用面向对象的观点来对现实世界中的各种问题进行抽象,然后用计算机程序来描述并解决该问题,这种描述和处理是通过类与对象实现的。

现实世界是本质上是由对象所组成,而不是由“各种过程”所组成。

软件开发的目的是为了解决现实世界中的问题,这些问题都是由对象所组成。面向对象的方法强调直接以问题域(现实世界)中的事物为中心来思考问题、认识问题,并根据这些事物的本质特征,把它们抽象地表示为软件系统中的对象。

类与对象是C++程序设计中最重要的概念。

对象是用来描述客观事物的一个实体(定义一个对象时,通常说明其包含的属性,操作和方法)。

类是集合,由一组具有相同属性和服务的对象组成。

对象

对象是一个包含属性,操作和方法的封装体,有名字,有唯一标识。一般用于描述现实中客观存在的事物。

对象具有静态特征和动态特征,静态特征是可以用数据来描述事物的特征,动态特征为对象所表现的行为或具有的功能。

对象由一组属性和对这组属性进行操作的一组服务构成。属性是用来描述对象静态特征的数据项。服务是用来描述对象动态特征(行为)的操作序列。

对象与对象之间通过消息(message)进行相互通信。

类是一个集合,由一组元素组成,这组元素具有相同属性和行为特征。(类由一组具有相同属性和行为特征的对象组成)。

比如:老虎 狮子 猫 都是动物

类是抽象的,对象是具体的,任何一个对象都是某一个类的具体实例。

对象是类的实例(元素)

类,定义相同点,定义对象的行为、状态。

方法,一个方法对应一个行为动作,一个类可以包含多个方法。

比如:动物 人类 都会吃饭 吃饭是一个行为动作

消息

消息是从一个对象(发送者)向另外一个或几个其它对象(接收者)发送信号,或由一个对象(发送者或调用者)调用另一个对象(接受者)的操作。

消息是对象之间在一次交互中所传递的信息。在面向对象的方法中把对象发出的服务请求称为消息。

消息有不同的实现方式,如函数调用、程序间的内部通信、各种事件的发生和响应等。

消息不能简单地等同于对象的成员函数调用,事实上两者之间是有区别的:消息是表示对象间信息传递的抽象概念,而对象的成员函数调用只是消息在程序设计中的具体表现形式之一。

软件开发

面向对象的软件开发就是将面向对象的思想应用于软件开发过程中的各个阶段。

过程:先从实际问题出发,用面向对象的方法分析用户需求,建立分析模型;再进行设计,建立系统的设计模型;最后编程实现,测试软件和维护。

面向对象的软件开发包括面向对象的分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的维护

基本特征

面向对象的四大基本特征:抽象性,封装性,继承性,多态性。

1、抽象性

将具有相同属性和行为的一组对象的抽象为类。

面向对象的方法中的对象(object)是软件开发所涉及的问题域中一些事物的抽象,是一些属性、操作和方法的封装体。

通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类(class)。

2、封装

封装是把对象的属性和服务结合成一个独立的系统单位(即对象); 封装将尽可能隐蔽对象的内部细节,对外形成一个边界,只保留有限的对外接口与外部发生联系; 封装可以有效地控制一个对象内部发生变化时对其它对象的影响; 封装能够通过对象接口简化对象的使用; 封装便于通过继承机制实现代码重用;

3、继承

继承是指特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承;

特殊类中不必重新定义已在它的一般类中定义过的属性和行为,自动地、隐含地拥有其一般类的所有属性与行为。

通常将一般类称为基类(base class)或父类(super class)

将特殊类称为派生类(derived class)或子类(subclass);

继承简化了人们对客观事物的认识和描述。采用继承机制之后,在定义特殊类时,只需要声明它是继承自哪个类,并增加它自己的特殊属性与行为,继承机制具有传递性,可以被一层一层的不断继承下去,实现代码重用,减轻程序开发工作的强度,提高程序开发的效率。

4、多态性

多态性是指在一般类中定义的属性或行为,被特殊类继承之后,具有不同的数据类型或表现出不同的行为,这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义,即具有继承关系的不同对象接收到同一消息时有不同的行为。

多态性可以为具有继承关系的不同类所形成的类族(具有继承关系的类的树状层次集合)提供统一的外部接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值