对”对象和类“的理解

对”对象和类“的理解

1. 参考内容:

    (1)  《C++程序设计》,Y.Daniel Liang(美)著,王刚,刘晓光,刘璟译。
    (2)   小甲鱼C++讲解的程序《闭门造车》,来源于鱼C工作室FISH.COM

2. 定义

    对象(Object),是指面向对象程序设计时放置数据和作用于这些数据的操作的单一的实体。

    相同类型的对象用一个通用的 类(Class)来定义,一个类是一个模板,定义了对象有什么属性和方法。一个对象就是类的一个实例。术语“对象”和“实例”常可以交换。

    对象的状态用属性(或数据域)及它们的当前值来表示,实际编程时属性可以认为是对象中定义的变量及其当前值(我自己这么认为);对象的行为用方法来表示,实际编程时可以认为方法就是一个个的函数(我这么认为)。


3. 举例说明

    举个例子,圆是一个类,圆1和圆2是两个对象,它们都有半径和圆心两个属性,都有计算面积和计算周长的两个方法。
    类:圆
        属性:半径R,圆心O
        方法:计算圆的面积S,计算圆的周长L

    对象1:圆1
        属性:R1 = 10; O1 = (0,0);
        方法:S1 = 3.14*R1*R1;  L1 = 2*3.14*R1;

    对象2:圆2
        属性:R2 = 1; O2 = (0,2);
        方法:S2 = 3.14*R2*R2;  L2 = 2*3.14*R2;


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    这里再借用鱼C工作室的《闭门造车》视频教程里的一个例子说明一下。

#include <iostream>    //--这是将iostream文件包含到本程序中

class Car{                     //--这是定义一个“类”,名字叫做Car
public:                        //--public是访问控制的关键字,意思是包括这个类本身以及它的基类等等的任何代码都可以访问以下属性和方法
    std::string color;         //--这几个变量是类Cra的属性
    std::string engine;
    float gas_tank = 0.0;
    unsigned int wheel;

    void fill_tank(float liter);    //--方法fill_tank()的声明,方法名是“fill_tank”,方法的参数是“liter”
    void running();                 //--方法running()的声明,方法名是“running”,本方法没有参数

};     //--这里不要忘记分号


//--方法fill_tank()的定义
void Car::fill_tank(float liter){
    gas_tank += liter;
}

//方法running()的定义
void Car::fill_tank(float liter){
    std::cout << "车正在上坡。。。" << std::endl;
}

//主函数。程序运行时都是从主函数开始的
int main(){
    Car mycar1;            //--将之前的Car实例化,得到mycar1这个对象

    mycar1.fill_tank(85);  //--操作对象macar1中的方法

    return 0;              //--主函数最好有一个返回值,如果程序进行到这里的话,就会有一个返回值0

}

    这个例子中Car是一个类,它具有一些属性和方法。mycar1是一个对象,它是将Car类具体化(实例化)后的一个实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值