Getting Started with Processing 第十章——對象
阿新 • • 發佈:2018-12-17
int oat ext get dom started 不返回 類定義 ole
不像原始數據類型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 第十章——對象