类编程中的一个概念。
在面向对象的编程语言中,类是一个不可或缺的重要组成部分。<br>
我对于类的理解就是:
类是对具体事物或过程的编程描述。<br>
要理解类,我们先看这样一个例子:
```
//这是一个盒子
class Box
{
//它有如下这些属性
public double x; //长度
public double y; //宽度
public double z; //高度
//它的构造方法如下
public Box(doube my_x, double my_y, double my_z){
this.x = my_x;
this.y = my_y;
this.z = my_z;
}
//它有如下的方法
//获取体积
public double getVolume(){
return this.x * this.y * this.z;
}
}
```
这里定义了一个类,它的名字叫 Box,它有三个属性,长度x,宽度y,高度z。
它有一个方法,名字叫 getVolume,该方法会返回一个double值,结果就是它的体积。
在类中,this是一个关键字,它就指代这个类被实例化出来后的独立个体。在本例中,this指代的是盒子,并且指代的是被实例化出来的盒子。
在使用的时候只需要这样
```
void Main(){
Box a = new Box(1,2,2); //实例化一个盒子a
double v_a = a.getVolume(); //此时v_a就是a盒子的体积,结果是4
Box b = new Box(2,2,2); //实例化一个盒子b
double v_b = b.getVolume(); //此时v_b就是b盒子的体积,结果是8
double x_b = b.x; //此时x_b就是b盒子的长度,结果是2
}
```
这里的构造方法,就是在类被实例化,也就是 new Box()的时候,接受一些逻辑处理的函数。每个类都有唯一的构造方法(构造方法也可以重载)。构造方法就是累在被new出来的时候,会默认运行的方法。
它可以不带参数,在这种情况下它可以不被声明,系统会自动给一个默认的无参数的构造方法。
本例中,Box b = new Box(1,2,2);的时候,相当于将这个盒子的x y z分别设为了1 2 2,这个工作就是由构造方法完成的。
<br>
**一个类有如下几个特点**
* 类有自己的成员属性
* 类有自己的成员方法
* 类通过构造方法在实例化的时候接收参数从而设置一些自己的成员属性,或做一些准备工作
* 在类中(即类的{}范围内),this是一个关键字,它指代这个类被实例化以后的实体
* 类在实例化出来之后是独立的,它们的属性不会互相影响。并且可以用 实例化出来的类 + . + 属性名或方法名 来访问类的属性或方法
在这个例子中,还不能完全体现类的实用性,毕竟只有一个计算体积的方法。
但这体现了一个思路:对象化
万物皆可对象,实际上很多事物都是这样,有一些属性,有一些方法。而程序操控的,正是这些对象实体的属性和方法。
- 序言
- 写在前面的话
- 太空工程师
- MEA小组
- 一、入门
- 1.1 基础概念
- 1.2 编程工具
- 1.3 变量
- 1.4 函数 Function
- 1.5 基本语法
- 1.5.1 运算符
- 1.5.2 if
- 1.5.3 for
- 1.5.4 其他语法
- 1.3 类 Class
- 二、编程块
- 2.1 方块的概念
- 2.2 List<T>结构
- 2.3 获取方块
- 2.4 方块的使用
- 三、Ship 类
- 3.1 简介
- Ship v0.5
- 代码
- 手册(待更新)
- 例子(待更新)
- Ship v1.0
- 代码
- 例子
- 文档
- 实例化
- 内置变量
- 内置方法
- Target类
- 四、运动控制算法在SE中的应用
- 4.1 运动控制介绍
- 4.2 过程控制
- 4.3 震荡和动态误差
- 4.4 误差累加方案
- 4.5 PID算法
- 4.6 对PID算法的一点点简化
- 4.7 一阶惯性系统的PID算法优化的研究
- 五、MEA方块类
- 5.0 核心代码目录
- v1.0核心代码
- v1.1 核心代码
- v2.0 核心代码
- 5.1 类的概念
- 5.2 MEA的方块类(Block)
- 5.3 方块类文档
- 5.4 方块类2.0 全教程
- 5.4.1 安装和使用
- 5.4.2 方块类(Block)
- 5.4.3 显示屏类(DisplayScreen)
- 5.4.4 LCD类(LCD)
- 5.4.5 主控座椅类(Cockpit)
- 六、疯猴的编程笔记
- 第一个程序
- 获取和控制其他块
- 物流与生产
- 界面与通信
- 运动与姿态
- 侦测与导航
- 七、SteamZhou的笔记
- 有趣而花里胡哨的IDEA
- 八、质子对撞炮的笔记
- 属性 Property
- 接口 interface