不像原始数据类型boolean,int 和 float 只能存一个值,一个对象可以存很多值。但这也是我们讲的一部分,对象也是用相关函数将变量编组的一种方式。

域和方法

在对象的上下文中,一个变量被叫做一个值域(field),一个函数被叫做一个方法(method)。值域和方法的工作原理与函数和变量一样

用建筑来做类比,类(class)就像是房子的蓝图。与对象一样,类定义了数据类型和行为,但每一个由类(蓝图)定义的对象(房子)都有变化(颜色,有无壁炉),这些由不同的值来设置。用一个更加专业的术语来说,每一个对象都是一个类的实例,每一个实例都有独立设置的值域和方法。

操作步骤

  1. 为类提取值域
  2. 为类创建方法
  3. 进行编写类:首先创建一个块 class JitterBug{ }
  4. 然后添加值域:
    class JitterBug{
    float x;
    float y;
    int diameter;
    float speed = 0.5;
    }
  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);
}

创建对象

  1. 声明对象变量
  2. 用关键词 new 创建(初始化)对象。
    在void setup(){之前,添加:
    JitterBug bug;
    在void setup()之中,添加
    bug = new JitterBug(width/2,height/2,20);

标签

可以将类放在另一个标签中,另外一个标签作为一个新的 pde 文件进行保存。

Getting Started with Processing 第十章——对象的更多相关文章

  1. 《C++ Primer Plus 6th》读书笔记 - 第十章 对象和类

    1. 过程性编程和面向对象编程 2. 抽象和类 1. 使用类对象的程序都可以直接访问公有部分,但只能通过公有成员函数(或友元函数)来访问对象的私有成员 2. 可以在类声明之外定义成员函数,并使其成为内 ...

  2. C++ Primer Plus读书笔记

    第五章 循环和关系表达式 1. 2.类别别名: (1)   #define FLOAT_POINTER float * FLOAT_POINTER pa, pb; 预处理器置换将该声明转换成  flo ...

  3. OBS带你玩转图片

    [摘要] 图片处理特性(Image Processing)是对象存储服务(Object Storage Service,OBS)为用户提供稳定.安全.高效.易用.低成本的图片处理服务,包括:图片剪切. ...

  4. pb datawindow 类型

    DataWindow.Processing 判断 DataWindow 对象的类型 可用 DataWindow.Processing 判断 DataWindow 对象的类型,dw的类型如下:     ...

  5. 《Tomcat权威指南》读书笔记

    第一章 Tomcat的开幕式 1.Tomcat是以Java编写的,这表示在能够构建和测试它之前,必须安装最新的.完整的JAVA运行环境(JRE,Java runtime). 2.Catalina To ...

  6. Python mutilprocessing Processing 父子进程共享文件对象?

    multiprocessing python多进程模块, 于是, Processing也是多进程的宠儿. 但今天讨论的问题, 似乎也能引起我们一番重视 直接上代码:     1 2 3 4 5 6 7 ...

  7. Java 第十章 类和对象

    类和对象 类与对象的关系是什么? 答 :类是具有相同属性和方法的一组对象的集合. 类是抽象的,对象是具体的:类是对象的模版,对象是类的实例. 定义一个类的语法是什么? public class 类名{ ...

  8. JAVASCRIPT高程笔记-------第十章 DOM对象

    10.1.1 node类型 --除IE外 所有浏览器都可以访问到这个类型 :JS中所有的节点类型都继承自Node类型 nodeName 与nodeValue  如果是一个元素 那么nodeName中保 ...

  9. 【WPF学习】第三十章 元素绑定——绑定到非元素对象

    前面章节一直都在讨论如何添加链接两个各元素的绑定.但在数据驱动的应用程序中,更常见的情况是创建从不可见对象中提取数据的绑定表达式.唯一的要求是希望显示的信息必须存储在公有属性中.WPF数据绑定数据结构 ...

随机推荐

  1. python简说(十七)操作mysql数据库

    import pymysqlconn = pymysql.connect(host='118.24.3.40',user='jxz',password='123456',port=3306,db='j ...

  2. 利用Selenium自动化测试android wap页

    http://blogs.360.cn/360qtest/2014/04/01/%E5%88%A9%E7%94%A8selenium%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5% ...

  3. Linux网络参数和ifconfig

    目录 1.ifconfig 网络参数 2.ifup和ifdown 3.CentOS7网络配置相关文件 4.CentOS7默认网卡接口配置文件 5.补充命令 6.总结: 参考: 1.ifconfig 网 ...

  4. docker版本升级

    docker的版本变化: Docker从1.13.x版本开始,版本分为企业版EE和社区版CE,版本号也改为按照时间线来发布,比如17.03就是2017年3月,有点类似于ubuntu的版本发布方式. 企 ...

  5. (转)Spring Cloud(二)

    (二期)23.微服务框架spring cloud(二) [课程23]熔断器-Hystrix.xmind0.1MB [课程23]微服务...zuul.xmind0.2MB 熔断器-Hystrix 雪崩效 ...

  6. MetInfo V5.1 GetShell一键化工具

    # 漏洞解析: config/config.inc.php $langoks = $db->get_one("SELECT * FROM $met_lang WHERE lang='$ ...

  7. 【Dalston】【第三章】声明式服务调用(Feign)

    当我们通过RestTemplate调用其它服务的API时,所需要的参数须在请求的URL中进行拼接,如果参数少的话或许我们还可以忍受,一旦有多个参数的话,这时拼接请求字符串就会效率低下,并且显得好傻.那 ...

  8. 深度学习课程笔记(四)Gradient Descent 梯度下降算法

    深度学习课程笔记(四)Gradient Descent 梯度下降算法 2017.10.06 材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS1 ...

  9. HDU 5649 DZY Loves Sorting(二分答案+线段树/线段树合并+线段树分割)

    题意 一个 \(1\) 到 \(n\) 的全排列,\(m\) 种操作,每次将一段区间 \([l,r]\) 按升序或降序排列,求 \(m\) 次操作后的第 \(k\) 位. \(1 \leq n \le ...

  10. HDU 6191 Query on A Tree(可持久化Trie)

    题意 \(n\) 个点的有根树,根为 \(1\) .每个点有点权,有 \(q\) 个询问,每次询问以 \(u\) 为根的子树的点的点权中异或 \(x\) 所得的最大值是多少. 思路 求出整棵树的 \( ...