1.3成员变量和成员函数

本文详细介绍了面向对象编程中的类和对象的概念,强调了成员变量和成员函数在对象中的作用。成员变量定义了对象的属性,每个对象拥有独立的变量实例。成员函数则是对对象进行操作的方法。通过实例展示了如何创建对象并调用成员函数,解释了`this`关键字在成员函数中的用途,用于引用调用该函数的对象。此外,还区分了本地变量的作用域和生存期。
摘要由CSDN通过智能技术生成

老生常谈,还拿咸鸭蛋举例子,我们的成员变量和成员函数,就是定义咸鸭蛋的属性和定义咸鸭蛋的操作。

1.1和1.2关键理解类的定义和对象的关系

我们这一节要

理解对象中的成员变量是怎么来的,怎么就能让成员函数明白自己在和 哪个对象打交道,

在没有引入类之前,变量是跟着代码走得,代码写到哪里,变量写在哪里,那么运行的时候变量就在那儿。现在写在类里的成员变量,只是一个声明,变量并不在哪里,变量不在类里面,变量在每一个对象里。


所谓变量就是会变的量,我们虽然在咸鸭蛋这个类里面定了咸鸭蛋应该有的属性,但是不同的咸鸭蛋属性的数据不一样,例如大小,价格,口味等,所以这个 “变” 指的就是我们创建一个对象之后传入的数据不一样罢了,所以变的那个量不在类里,而是在创建的每一个对象里。

成员变量

●类定义了对象中所具有的变量,这些变量称作成员变量

●每一个对象有自己的变量,和同一个类的其他对象是分开的

所以所谓的成员变量就是我们定义的咸鸭蛋的属性的变量

public clsss Xian{

int daxiao;

int balance;

int qiwei;

}

就咸鸭蛋而言,我们首先要定义咸鸭蛋可能有的属性,大小,价格,气味等等。这就是成员变量

成员函数

void   guige(int daxiao){
        System.out.println("咸鸭蛋的大小是"+daxiao+“cm”);

}


我们自己定义一个函数操作名,后面跟着要传入的参数,这个参数就是我们刚开始定义的属性,然后我们就可以进行相应的操作,这就是成员函数,我们可以定义多个。

接下来如果我们想调用这个成员函数,那就要创建一个对象来,不然怎么对他赋予对应的属性呢(成员变量),然后通过对象名来调用成员函数,传递参数:

①   在主函数里面创建对象, 然后进行对对象进行具体赋值,创建一个具体对象

类名   对象名  =    new  类名


Xian   dan  =  new  Xian( );

②  利用对象,调用类里面的函数操作

dan.guige(11);


对象名.函数操作名(函数需要的参数);

当然,我们可以创建很多咸鸭蛋,就是创建很多名字不同的对象,我们通过对象名进行调用的时候,不同的咸鸭蛋的的数据是互不干扰的,尽管他们用的都是一个属性


就是调用的时候临时建立了 guige( ) 和 dan  之间的关系 , 让guige()内部的成员变量指的是dan的成员变量。

怎样才能保证如此呢?我们就要请出我们的  “this”  大佬了,

●this是成员函数的一个特殊的固有的本地变量,他表达了调用这个函数的那个对象

举个例子:

当我们成员变量

int balance=10;


我想让成员变量的初始值赋予给一个对象的时候

成员函数假如是

void balances( ){

this.balance = balance;

}


此时的  this.balance 就是代表调用这个函数的那个对象的成员函数,说白了就是哪个咸鸭蛋调用了这个价格,那  this.balance  就是谁的咸鸭蛋的价格, 至于  balance  就是类的成员函数的值。balance永远是谁离得近,就是谁的,this 表示的是谁调用,就是谁的。

对象调用成员函数修改成员变量

void balances( int balance){

this.balance = balance;

}


Xian   dan  =  new  Xian( );

dan.balances(88);


我们传入了balance 价格,调用了成员函数,那balance 就是谁离得近就是谁的,在这个函数里面定义传入的参数,然后赋值给调用这个函数的对象的成员变量。就是谁调用,这个值给谁。

所以, 

调用函数

●通过  “  . ” 运算符调用某个对象的函数

● 在成员函数内部直接调用自己(this)的其他函数。

本地变量

●定义在函数内部的变量是本地变量,比如上面标红的balance, 只在这个函数内生效,出去就失效了

●本地变量的生存期和作用域都是在函数内部

●成员变量的生存期是对象的生存期,作用域是类内部的成员变量

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值