Getting Started with Processing 第十章——对象
不像原始数据类型boolean,int 和 float 只能存一个值,一个对象可以存很多值。但这也是我们讲的一部分,对象也是用相关函数将变量编组的一种方式。
域和方法
在对象的上下文中,一个变量被叫做一个值域(field),一个函数被叫做一个方法(method)。值域和方法的工作原理与函数和变量一样
类
用建筑来做类比,类(class)就像是房子的蓝图。与对象一样,类定义了数据类型和行为,但每一个由类(蓝图)定义的对象(房子)都有变化(颜色,有无壁炉),这些由不同的值来设置。用一个更加专业的术语来说,每一个对象都是一个类的实例,每一个实例都有独立设置的值域和方法。
操作步骤
- 为类提取值域
- 为类创建方法
- 进行编写类:首先创建一个块 class JitterBug{ }
- 然后添加值域:
class JitterBug{
float x;
float y;
int diameter;
float speed = 0.5;
} - 添加构造函数。构造函数的名称通常与类的名称相同。设置构造函数的目的是在创建一个对象的时候为值域初始化赋值。这里需要注意的是,它们只有在为一部分类中的值域中赋值时才会使用。还要注意构造函数不返回任何值,因此它也没有一个 void 或值其他任何数据类型的声明。
JitterBug{float tempX,float tempY,int tempDiameter){
x = tempX;
y = tempY;
diameter = tempDiameter;
}
6 .最后添加方法:
void move(){
x + = random(-speed,speed);
y + = random(-speed,speed);
}
void display(){
ellipse(x,y,diameter,diameter);
}
创建对象
- 声明对象变量
- 用关键词 new 创建(初始化)对象。
在void setup(){之前,添加:
JitterBug bug;
在void setup()之中,添加
bug = new JitterBug(width/2,height/2,20);
标签
可以将类放在另一个标签中,另外一个标签作为一个新的 pde 文件进行保存。
Getting Started with Processing 第十章——对象的更多相关文章
- 《C++ Primer Plus 6th》读书笔记 - 第十章 对象和类
1. 过程性编程和面向对象编程 2. 抽象和类 1. 使用类对象的程序都可以直接访问公有部分,但只能通过公有成员函数(或友元函数)来访问对象的私有成员 2. 可以在类声明之外定义成员函数,并使其成为内 ...
- C++ Primer Plus读书笔记
第五章 循环和关系表达式 1. 2.类别别名: (1) #define FLOAT_POINTER float * FLOAT_POINTER pa, pb; 预处理器置换将该声明转换成 flo ...
- OBS带你玩转图片
[摘要] 图片处理特性(Image Processing)是对象存储服务(Object Storage Service,OBS)为用户提供稳定.安全.高效.易用.低成本的图片处理服务,包括:图片剪切. ...
- pb datawindow 类型
DataWindow.Processing 判断 DataWindow 对象的类型 可用 DataWindow.Processing 判断 DataWindow 对象的类型,dw的类型如下: ...
- 《Tomcat权威指南》读书笔记
第一章 Tomcat的开幕式 1.Tomcat是以Java编写的,这表示在能够构建和测试它之前,必须安装最新的.完整的JAVA运行环境(JRE,Java runtime). 2.Catalina To ...
- Python mutilprocessing Processing 父子进程共享文件对象?
multiprocessing python多进程模块, 于是, Processing也是多进程的宠儿. 但今天讨论的问题, 似乎也能引起我们一番重视 直接上代码: 1 2 3 4 5 6 7 ...
- Java 第十章 类和对象
类和对象 类与对象的关系是什么? 答 :类是具有相同属性和方法的一组对象的集合. 类是抽象的,对象是具体的:类是对象的模版,对象是类的实例. 定义一个类的语法是什么? public class 类名{ ...
- JAVASCRIPT高程笔记-------第十章 DOM对象
10.1.1 node类型 --除IE外 所有浏览器都可以访问到这个类型 :JS中所有的节点类型都继承自Node类型 nodeName 与nodeValue 如果是一个元素 那么nodeName中保 ...
- 【WPF学习】第三十章 元素绑定——绑定到非元素对象
前面章节一直都在讨论如何添加链接两个各元素的绑定.但在数据驱动的应用程序中,更常见的情况是创建从不可见对象中提取数据的绑定表达式.唯一的要求是希望显示的信息必须存储在公有属性中.WPF数据绑定数据结构 ...
随机推荐
- ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?(转载自知乎)
ARM架构: 由英国ARM公司设计的一系列32位的RISC微处理器架构总称,现有ARMv1~ARMv8种类. ARM7: 一类采用ARMv3或ARMv4架构的,使用冯诺依曼结构的内核. ...
- 20165310 NstSec2019 Week1 Exp0 Kali安装
20165310 NstSec2019 Week1 Exp0 Kali安装 Kali下载与安装 进入Kali官网 ,进入Download选项,选择Kali Linux 64 bit VMware VM ...
- kali linux 数据库分析工具简述
bbqsql SQL盲注可能很难被利用. 当可用的工具工作时,它们运行良好,但是当它们不工作时,您必须编写自定义的东西. 这是耗时且乏味的. BBQSQL可以帮助你解决这些问题. BBQSQL是一个用 ...
- Windows Installation
If you're running on Windows it is good to run Jenkins as a service so it starts up automatically wi ...
- Python3 tkinter基础 Canvas background 创建白色的画布 create_line width 画宽的线
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 内核中的xenfs是什么?
答: 是一个xen虚拟机高性能搜索文件系统,它基于共享内存通信协议和共享缓冲区缓存.
- Vistual Studio Code配置
目录 查看版本,帮助: 修改vscode的扩展目录: 用户和工作区设置 用户设置的文件保存在如下目录: 所以有三种方式更改默认的设置: vscode同步配置: vscode启动launch.json配 ...
- sql server查看用户权限
System.ServiceModel.FaultException: Server error. Detail: The EXECUTE permission was denied on the o ...
- lamp服务器被人恶意绑定域名的解决办法
还没开始就被别人绑定了域名 事情的起因与发现 刚买了个服务器搭建了一个dz,想着域名还没备案,就先搭建了起来,然后在做DDOS测试时偶然发现服务器被别人恶意把域名绑定了 最初的解决方案 没管..... ...
- 题解——loj6280 数列分块入门4 (分块)
分块维护一个区间和 然后记得更新的时候左边角块的tag不要打错到右边角块 #include <cstdio> #include <algorithm> #include < ...