C++ 学习—[1]概述

一、什么是面向对象程序设计

1.1.1 一种新的程序设计范型

面向对象程序设计是一种新的程序设计的范型范型是指设计程序的规范模型风格。这种范型的主要特征是由过程定义和过程调用组成。

面向过程的程序:

程序=过程+调用

面向对象的程序:

程序=对象+消息

面向对象程序的基本元素是对象
主要结构特点是:
一、程序一般由类的定义使用两部分组成。
二、程序中的一切操作都是通过向对象发送消息来实现(对象收到消息后执行对应操作)。

C++是具有面向过程和面向对象两种范型的混合型程序设计语言。

1.1.2

一.对象
现实世界中对象:属性+行为,一个对象往往由一组属性和一组行为
具有以下特性:
(1):每一个对象必须有一个名字以区别于其他对象。
(2):用属性来描述对象的某些特征。
(3):有一组操作,每组操作决定对象的一种行为。
(4):对象的行为可以分为两类:作用于自身的行为和作用其他对象的行为。
面向对象的程序设计采用了以上人们所熟悉的思路。

二、类
在现实世界中,是一组具有相同属性和行为的对象的抽象。
在面向对象程序设计中,类是对具有相同的数据数据结构和相同的操作的一类对象的描述。
先声明类,再由类生成其对象。
类和对象之间的关系是:

抽象和具体的关系

三、消息与方法
在面向对象程序设计中,对象之间也需要联系,称为对象的交互。
一个对象与另一个对象的交互叫做消息传递
一个对象向另一个对象发出的请求称为:消息,接收消息后进行调用相关的方法,执行相应的操作。
特点:

(1):同一对象可以接收不同形式的多个消息,做出不同的相应;
(2):相同形式的消息可以传递给不同的对象,所做出的响应可以是不同的;
(3):对消息的响应并不是必需的,对象可以响应,也可以不响应。

1.1.3 面向对象程序设计的基本特征

1.抽象:抽象是通过特定的实例(对象)抽取共同性质后形成概念的过程。
2.封装:封装是指把数据和实现操作的代码几种起来放在对象内部,并尽可能隐蔽对象的内部细节。
3.继承:对象类之间相关的关系,这种关系是的某一类可以继承另一个类的特征和能力。
继承的作用:
(1):避免公用代码的重复开发,减少代码和数据冗余。
(2):通过增强一致性来减少模块间的接口和界面。
若类之间有继承关系,则有:

(1):类之间具有共享特征(包括数据和操作代码的共享)
(2):类之间具有差别或新增部分(包括非共享的数据和操作代码)
(3):类之间具有层次结构。

继承种类区别
单继承每个派生类值直接继承了一个基类的特征(一继一)
多继承派生类直接继承了不止一个基类的特征(一继多)

4.多态:不同的对象收到相同的消息时执行不同的操作。
C++的多态性:

多态性实现方式
编译时的多态性函数重载(运算符重载)
运行时的多态性虚函数

二、为什么要使用面向对象程序设计

1.2.1 传统程序设计方法的局限性

(1):生产效率低下
(2):难以应付日益庞大的信息量和多样的信息类型
(3):难以适应各种新环境

1.2.2 面向对象程序设计的主要优点

(1):可提高程序的重用性
(2):可控制程序的复杂性
(3):可改善程序的可维护性
(4):能够更好地支持大型程序设计
(5):增强了计算机处理信息的范围
(6):能很好地适应新的硬件环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值