【Java】6.1 类和对象 Class and Object 02 类的组成

【数组对象 Arrays of Objects】
接上篇例子,我们现在想要在我们的程序中创建多个Car
一个两个还好,要是我们想要创建多个car,一次次分别实例化就十分繁杂且混乱,于是有了数组对象
使用数组来存储相同类型的对象有助于简化操作
前文我们说过,可以把类当作一个存储数值的属性————就像我们用int、double等一样,所以数组对象的使用和之前数组的使用是一样的

再提一下,之前我们的int、double等等也是一种类,它们是Java中的默认类型的类,它们可以用数组储存
那么我们用户自定义的类也是“类”,由它实例的对象当然也能用数组储存咯

Car CarShouRoom [] = new Car [5]
for(int i = 0 ;i < 5 ; i++){
    CarShouRoom [i] = new Car();
}

之前我们提到了类中的六个部分,下面我们来详细说说其中几个部分:

【构造函数 Constructors】
构造函数是一种特殊类型的方法,当将new关键字对象一起使用时,将调用该方法
它们没有返回类型(甚至不是void),并且必须与类具有相同的名称
通常情况下,我们会拥有一个默认的构造函数(通常没有参数)以及至少一个具有1个或多个参数的其他构造函数
我们回顾一下Car:
这个就是默认的构造函数,在这个构造函数中,我们一般会预设好各种值

public Car()
{
	numberOfDoors = 4;
	colour = "Black";
	motorType = 'I';
	lastCarReg++;   //increase the value 
	carReg = lastCarReg; // assign that value to the reg of this Car instance
}

这个是含有参数的构造方法,当使用者写入对应参数时,会创建出使用者自定义的对象

public Car(int numberOfDoors, String colour, char motorType)
{
        //关于this,我们之后再去细细讨论
	this.numberOfDoors = numberOfDoors;
	this.colour = colour;
	this.motorType = motorType;
	lastCarReg++;
	carReg = lastCarReg;
}

【访问器和更改器方法 Accessor and Mutator Methods 】
访问器Accessor方法 用于返回(获取)属性值,它们也被称为getter方法
更改器Mutator方法用于更改(设置)属性值,它们也被称为setter方法
Accessor和Mutator方法为用户提供了一种,可以精确地与class中的数据交互的方法
其中访问器负责让使用者得到对应的数值,而更改器负责来设置和修改值

依旧以Car举例,下面这个方法就可以得到我们Car的颜色:

public String getColour() { 
return colour;
}

注意,访问方法零输入参数,且具有返回类型。毕竟访问器就是用来获得对应数据的,肯定要有返回值的
由于该方法是public,任何类都可以调用它

下面看看一个更改器Mutator的例子,它会更改车的颜色:

public void setColour(String carColour) {
 colour = carColour; 
}

和Accessor相反,Mutator方法采用一个或多个参数,并且始终具有void返回类型。因为它的职责在于修改,需要接受修改值,但是不用返回值

二者实质上都是存在于Class里面的方法,通过它们的使用把二者分为了两个概念而已————实质上还是方法,没有什么特别的地方

Accessor和Mutator方法的命名约定:
公认的约定是方法名称的第一个单词的首字母是小写(并且将是get或set),而所有其他单词的首字母是大写
比如
对于Accessor:get<名字>(); 比如getCarReg()
对于Mutator :set<名字>(); 比如setMotorType()

posted @ 2021-04-27 21:22  RetenQ  阅读(48)  评论(0编辑  收藏  举报