简述面向对象的概念

C与C++的最大区别是C++支持面向对象程序设计。面向对象这个词看似不好理解,其实与我们生活联系紧密。下面,我就结合生活中的实例,简单地谈一下面向对象程序设计这个概念。

1、类与对象的区别

人类是一个类,你是人,我是人,都是人类的实例,或称为对象。一个类描述一类事物,描述这些事物所应有的属性,如人有身长、体重、文化程度、性别、年龄、民族等。一个对象是类的一个实例,它具有确定的属性,如王五(人的实例)身高180,体重79公斤,大学本科,男,26岁,汉族。人类只有一个,人类的实例可以有数个。对象可以被创建和销毁,但类是无所不在的。

例如,桌子是一个类,人们不断打造各种尺寸和风格(属性)的桌子(桌子的实例),打造桌子,又不断毁坏桌子,年复一年,旧的去了,新的又来了,但桌子的概念没有改变,它是一个抽象的概念。应该称它为桌子类,以区别于打造的具体桌子。 

2、面向对象程序设计的两个原则:抽象和分类

抽象与具体相对应。一个人名是抽象,它代表某人的一切属性,包括身高,体重,文化程度等。抽象是具体事物的描述的一个概括。现实生活中,为了减少必须处理的事情,我们是在某一程度的细节中生活的。在面向对象的计算机世界中,这种细节程度就叫抽象。

层层分类,是概念逐渐细化,即具体化。相反,归类的结果,便是逐步抽象的过程。

在面向对象的计算机世界中,我们把一辆实实在在的桑塔纳小轿车称为是类桑塔纳的一个实例或者说是对象。类桑塔纳是类小轿车的一个子类,而类小轿车又是类小汽车的一个子类,类小汽车是类汽车的一个子类,类汽车又是类交通工具的子类,等等。由此可以看出,在面向对象的程序设计中,对象被分成类。类又是层层分解的,这些类与子类的关系可以被规格化地描述。描述了类,再描述其子类,就可以只描述其增加的部分。所有子类层次上的编程,都只需在以后的类的基础上进行。因此,分类是面向对象程序设计的需要,分类是理解抽象的重要手段,两者都是面向对象程序设计的重要概念。

总结:面向对象是为了软件更好的重用,使软件开发更有效率。虽然面向对象已经有了完整的理论体系,但在实践中,真正实现了重用的也只有少数领域。硬件依然按照摩尔定律向前狂奔,软件的发展却总是步履维艰,真正实现重用的道路还需要我们进一步地探索。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值