第三课 使用对象
一、对象是什么?
JavaFX Script 是一个面向对象的编程语言。对象包含属性和行为。
声明一个对象
示例代码1:
Address {
street: "1 Main Street";
city: "Santa Clara";
state: "CA";
zip: "95050";
}
|
使用对象需要定义一个class
示例代码2:
//Address.fx
class Address {
var street: String;
var city: String;
var state: String;
var zip: String;
}
一个对象其实是一个对象类的实例。对象里的属性是类的属性的实例。一个对象实例必须用一对大括号括起来。
在使用中这样定义一个实例
示例代码3:
def myAddress = Address {
street: "1 Main Street";
city: "Santa Clara";
state: "CA";
zip: "95050";
}
def customer = Customer {
firstName: "John";
lastName: "Doe";
phoneNum: "(408) 555-1212";
address: Address {
street: "1 Main Street";
city: "Santa Clara";
state: "CA";
zip: "95050";
}
}
|
看看Customer类的定义
示例代码4:
class Customer {
var firstName: String;
var lastName: String;
var phoneNum: String;
var address: Address;
function printName() {
println("Name: {firstName} {lastName}");
}
function printPhoneNum(){
println("Phone: {phoneNum}");
}
function printAddress(){
println("Street: {address.street}");
println("City: {address.city}");
println("State: {address.state}");
println("Zip: {address.zip}");
}
}
[说明]:在Customer类里,定义了四个属性和三个函数。其中有一个属性是一个对象,它的类型是Address类。
示例代码5:
var previewSpotX = 12; var previewSpotY = 50;
var overlaySpotX = 95; var overlaySpotY = 55;
var previewDimOverlay = Group {
visible: false;
content:[
Rectangle{
x:7 y: 25 width: 685 height: 332
arcWidth: 10 arcHeight: 10
fill: Color.rgb(0,0,0,0.4)
blocksMouse: true
}
}
}
[说明]:在这个代码段里,visible和content实例属于Group对象。x, y, width, height, arcWidth, arcHeight, fill, and blockMouse 实例属于Rectangle对象。Group存储在名为previewDimOverlay的变量里。
引用实例函数
实例变量、实例对象也可以包含实例函数。引用实例函数可以通过变量名加点(.)加上函数名的方式。
示例代码6:
def customer = Customer {
firstName: "John";
lastName: "Doe";
phoneNum: "(408) 555-1212"
address: Address {
street: "1 Main Street";
city: "Santa Clara";
state: "CA";
zip: "95050";
}
}
customer.printName();
customer.printPhoneNum();
customer.printAddress();
输出结果:
Name: John Doe Phone: (408) 555-1212 Street: 1 Main Street City: Santa Clara State: CA Zip: 95050
本文介绍了JavaFXScript中如何定义和使用对象,包括对象的声明、类的定义及实例化过程,并通过具体示例展示了如何操作对象的属性和调用实例函数。
7751

被折叠的 条评论
为什么被折叠?



