面向对象编程的精髓在于将行为绑定在数据上

来源:互联网 发布:httpclient访问php 编辑:程序博客网 时间:2024/06/07 02:03

"面向对象编程的精髓在于将行为绑定在数据上"这句话是经典的,因为我们都知道,面向对象的思想是从面向过程编程中发展而来的,而在早期的面向过程编程语言中,程序是由一组结构体和操作该结构体对象的函数组成,并且,结构体和函数是分开的,离散的,通过在函数参数列表中声明一个结构体指针来和结构体产生关联,这样的关联关系使得数据和函数之间的的关系不够明显清晰,比如:

Structtask_struct

{

Int nItem;

Char cData[0];

}

 

Voidadd_task(task_struct *task, int flag);

 

这种数据和函数分开的面向过程编程方法使得数据和方法之间关系不明朗,不易读,因此,在经过了若干年的发展之后,通过 将行为绑定在数据上 这样的改革,使得数据和操作数据的方法紧紧的捆绑在一起,封装成一个统一体

对象有状态和行为:

1、一个对象有状态,我们用数据来表示一个对象的状态,比如长宽高

2、一个对象有行为,我们可以用一组方法来改变对象的状态,比如addsub等等

通过将数据和方法捆绑在一起,实现了状态和行为的捆绑,使得数据和方法封装在对象的统一体中,就行为了对象

 

因此,改变之后,编程了如下形式:

Classtask_struct

{

Publuc:

Void add_task(int flag);

 

Private:

Int nItem;

Char cData[0];

};

这样使得数据和方法紧紧的封装在了一个统一体task_struct中,数据和行为的统一。

这种把数据和方法捆绑起来的行为就是传说中的 封装

原创粉丝点击