实体、对象与类的概念

面向对象系列

  • 什么是实体?
    • 指客观世界存在的某个事物
  • 如何描述实体?
    • 通过对实体进行抽象,来描述实体
  • 如何抽象描述实体
    • 每个实体都有其特征和功能,特征和功能通称为属性
    • 实体与实体的不同在于属性的不同
    • 所谓抽象描述实体是指:
      • 从实体中抽取出若干特征和功能,来表示实体
      • 特征指实体的静态属性,功能指实体的动态属性
    • 对实体加以抽象要注意下面两点:
      • 移出细节看主干
      • 不是借助具体形象反映现实,而是以抽象表达科学的真实
  • 抽象描述实体的结构不唯一

    • 实体的抽象描述因人而异
      • 有些人抽象描述地较为完善、详细
      • 有些人抽象描述地较为简单、粗糙
    • 无论怎样抽象描述实体,都要尽可能抽象分析出主要特征与功能
      • 特征和功能密切相关、相互依赖,不能割裂
    • 当然有些实体只有静态属性而无动态属性,如兵马俑等
  • 什么是对象?

    • 对象指被抽象描述的某个实体
    • 一个对象包含了实体的特征和功能
    • 对象=实体的特征+实体的功能
    • 对象=数据+函数
    • 将数据和函数当作一个统一体
  • 什么是类?

    • 类:具有相同特征和功能的对象集合
    • 对象是类的一个实例或个体或元素
  • 将实体转化为程序中的数据(类型)

    • C++程序中有四种基本数据类型:字符、整数、浮点、双精度类型
    • 当程序中涉及到的实体不能直接描述为基本数据类型时,只有描述成新的数据(类型)
    • 类是相同属性的对象集合,其中某个对象的特征和功能就是类的特征和功能
  • 类与结构体

    • 将数据和函数当作一个统一体——类
    • 类是对客观世界万物的抽象描述
    • 结构体是复合数据的统一体
    • 结构体与类的区别?
      • 结构体只有数据成员,没有函数成员
      • 结构体又称为特殊的类
      • 现在结构体中也可以包括函数成员
    • 类的语法格式与结构体相似
  • 结构体的定义、声明、引用

    • 先定义结构体,例如日期结构体定义如下:

      struct date
      {
          int year,month,day;
      } 
      
    • 再声明结构体变量(对象):

      date mybirthday;
      
    • 然后引用结构体变量(对象):

      mybirthday.year=1989;  
      mybirthday.month=10;   
      mybirthday.day=18;
      
  • 类与结构体语法格式相似

    • 类的语法格式:
      • 先定义类的数据成员和函数成员
      • 再声明具体对象(变量)
      • 然后使用对象(变量)

你可能感兴趣的:(C++)