C++ (抽象、封装、继承、多态)面向对象程序设计的基本特征

1、抽象

忽略与当前主题目标无关的方面:

分为:

1、数据抽象:描述某类对象的属性或状态

2、代码抽象:某类对象的共同行为特征或具有的共同功能

 

 

2、封装

类是 面向对象程序设计语言中的一个概念。
类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。

类成员有3种不同的访问权限: 
1)公有( public )成员可以在类外访问。   
2)私有( private )成员只能被该类的成员函数访问。   
3)保护( protected )成员只能被该类的成员函数或派生类的成员函数访问。 
数据成员通常是私有的,成员函数通常有一部分是公有的,一部分是私有的。公有的函数可以在类外被访问,也称之为类的接口。可以为各个数据成员和成员函数指定合适的访问权限。

至于封装就是通过权限来限制类中的代码外界无法看到更无法更改。。值能通过接口来直接使用。。。类就像一个生产车间。。外界的人只需知道丢进去什么材料(参数)。。然后这个车间产生出来的是什么(接口)。。而把生产过程封装了。。你不知道是怎么生产的。
简单理解封装和接口
接口,简单说就是public的方法,供外部使用,通过这些public的方法,可以操作内部数据,所以称之为接口。
封装,一个类是由数据与方法组成的,将数据和方法放在一起,就是封装。(转)

把某个事物包围起来,使外界不知道该事物的具体内容。

C语言中也提供了一个类似于封装的关键词——struct,但该关键词只限于将变量封装

我们使用一个对象的时候,只需知道它向外界提供的接口形式,无需知道它的数据结构细节和实现操作的算法

 

 

3、继承

C++ (抽象、封装、继承、多态)面向对象程序设计的基本特征

 

就像图中显示的。。

继承分为两类:

1、单继承:只继承了一个基类的特征

2、多继承:继承多个,比如玩具车:继承了玩具和车

4、多态

举个栗子:

现在有一个车占住了车位,那我们说请把车子移开,那么这个车就可能被移走,现在我们在路上行走,前面被路障挡住了,现在给工人说让把路障移走,工人就把路障移走了,作用对象不同,操作对象就不同

C++支持两种多态性:

1、编译时的多态性

2、运行时的多态性