C++__类与对象

面向对象程序设计方法概述

1. 对象

客观世界中任何一个事物都可以看成一个对象(object)。

对象可大可小。对象是构成系统的基本单位。

  • 对象的构成:任何一个对象都应当具有这两个要素,即属性(attribute)和行为(behavior),它能根据外界给的信息进行相应的操作。一个对象往往是由一组属性和一组行为构成的。
  • 对象间的交互或对象的调用:要使某一个对象实现某一种行为(即操作),应当向它传送相应的消息。对象之间就是这样通过发送和接收消息互相联系的。 每个对象都是由数据和函数(即操作代码)这两部分组成的数据体现了前面提到的“属性”,如一个三角形对象,它的3个边长就是它的属性。函数是用来对数据进行操作的,以便实现某些功能。在程序设计方法中也称为方法(method)。
    调用对象中的函数就是向该对象传送一个消息(message),要求该对象实现某一行为(功能)。

    2. 封装与信息隐蔽

    可以对一个对象进行封装处理,把它的一部分属性和功能对外界屏蔽,

    优点:大大降低了操作对象的复杂程度。

    所谓“封装”,指两方面的含义:

    (1)一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。

    (2)二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。信息隐蔽有利于数据安全,防止无关的人了解和修改数据

    3. 抽象(类的产生)

    • 抽象的过程是将有关事物的共性归纳、集中的过程。
    • 抽象的作用:是表示同一类事物的本质。C和C++中的数据类型就是对一批具体的数的抽象。
    • 对象是具体存在的,类是对象的抽象,而对象则是类的特例,或者说是类的具体表现形式。

      4. 继承与重用什么叫继承?优点?

      已经设计了一个大学生类A,再设计研究生类B。

      只是在前者的基础上增加一些属性和行为,只需在类A的基础上增加一些新内容即可。这就是面向对象程序设计中的继承机制。利用继承可以简化程序设计的步骤。软件重用的实现。
        • 父类,或称为基类,                                  派生出来的,称为子类或派生类。

5. 多态性(概念,优点)

如果有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作。这种情况就是多态现象。
如,在Windows环境下,用鼠标双击一个文件对象(这就是向对象传送一个消息),如果对象是一个可执行文件,则会执行此程序,如果对象是一个文本文件,则启动文本编辑器并打开该文件。
在C++中,所谓多态性(polymorphism)是指: 由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。
2 面向对象程序设计的特点
     传统的面向过程程序设计是围绕功能进行的,用一个函数实现一个功能。所有的数据都是公用的,一个函数可以使用任何一组数据,而一组数据又能被多个函数所使用
                    

面向对象程序设计采取的思路:

程序设计者的任务包括两个方面:

 一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;

二是考虑怎样向有关对象发送消息,以完成所需的任务。这时他如同一个总调度,不断地向各个对象发出命令,让这些对象活动起来(或者说激活这些对象),完成自己职责范围内的工作。各个对象的操作完成了,整体任务也就完成了。

优点:对一个大型任务来说,面向对象程序设计方法是十分有效的,它能大大降低程序设计人员的工作难度,减少出错机会。
3 类和对象的作用
一个有一定规模的C++程序是由许多类所构成的。
C++
支持面向过程的程序设计,也支持基于对象的程序设计,又支持面向对象的程序设计。
基于对象就是基于类:与面向过程的程序不同,基于对象的程序是以类和对象为基础的,程序的操作是围绕对象进行的。在此基础上利
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值