C++类和对象

C++类和对象

类是面向对象程序设计OOP实现消息封装的基础。 类是现实世界在计算机中的反映,它将数据和对这些数据的操作封装在一起, 即具有相同结构,操作,使用约束规则在一起的对象集合在一起,就成为类,类是对对象的抽象。而对象是对类的具体体现。 类的实质是一种引用数据类型,只是这个数据类型比较复杂,类是一个抽象的概念,不能直接操作。只有实例化为对象,才能被操作。这就好比是一个抽象的概念(你难道能开一个逻辑概念的车?),但是红旗轿车跟长安轿车是它的实例化的对象,是可以直接进行操作的

  1. 类的结构

    • 类名
    • 数据元素
    • 成员函数
    //以下是典型的类的结构
    class Car { //类名
    public : //权限:公有
       Car() {  } //成员函数
       void set(float price, string __name);
    private ://权限:私有
        float price;//数据元素
        string __name;
    };
    
  2. 类的特性

    • 封装性

      ​ 将数据和操作封装为一个有机的整体,由于类中私有成员都是隐藏的,只向外部提供有限的接口,所以能够保证内部的高内聚性和与外部的低耦合性。用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员,能够增强安全性和简化编程。

    • 继承性

      ​ 继承性更符合认知规律,使程序更易于理解,同时节省不必要的重复代码。

    • 多态性

      ​ 同一操作作用于不同对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向父类(基类)的指针,来调用实现子类(派生类)中的方法。


  • 对象

对象可以是一个变量,可以是一个数据结构,或者一个函数。 在计算机科学中,对象(object),是一个存储器地址,其中拥有值,这个地址可能有标识符指向此处。 在上文中的红旗轿车,长安轿车就可以算是对象。简言之,对象是类的实例,真正的占有内存空间的,实实在在的东西。对象是根据类来创建的。声明类的对象,就跟声明基本类型的变量一样

//基于上面代码的对象
void Car::set(float price, string __name) {
    price = 123456.789;
    __name = "HongQi";
}

//与基本类型声明变量类比
Car car;//声明类的对象
int i; //基本类型的声明

  • 总结

类和对象,简单来说就是逻辑抽象与物理实际的关系,一个是抽象事物,是逻辑上的集合,不能进行操作。一个是物理事物,具有实实在在的内存空间,可以进行操作。以下图片虽然有失偏颇,但是理解类与对象还是可以的。

你可能感兴趣的:(C++学习,类,面向对象编程,c++)