`
suifongqi
  • 浏览: 54238 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JFX学习笔记 六 类

    博客分类:
  • JAVA
阅读更多
终于看到类了,还真是累....
JavaFX 中声明类的语法:在class 关键字后面跟着类名,接着是可选的extends 关键字和由逗号分割的基类名列表,一个开放的大括号({),一个属性列表,函数和操作,一个关闭的大括号(}),在大括号中间的每一个语法逻辑行都使用分号结尾
看来java 也破例在JFX上弄出多继承了...一个儿子多个老爸,什么社会...什么科技啊,果然是超类.除此以外从描述上可以得出类的定义基本与java相同.希望如此吧...
class Person {
attribute name: String;
attribute parent: Person inverse Person.children;
attribute children: Person* inverse Person.parent;
function getFamilyIncome(): Number;
function getNumberOfChildren(): Number;
operation marry(spouse: Person);
}
这是一个JFX类,其中有几点要看看,
1 attribute属性关键字
2 inverse关键字
3 function与operation
attribute 关键字后面跟着属性名,一个冒号,属性类型,可选的重数(cardinality)说明(?代表不确定,*代表零个或者更多,+代表一个或者更多)。有疑问吗?我有,1 那访问控制能不能使用?2 不用attribute而用var声明行不行?我写了如下代码尝试
class A
{
private var name:String;
private attribute names:String*;
}
得到的结果是什么?...大家自己尝试,很有用哦

inverse 用来说明与类中另一属性之间双向关系的反向子句
如果反向子句出现在对象属性定义中,那么当此属性值被修改时JavaFX 解释器将自动更新
其反向属性(根据更新的类型和属性的重数进行插入、删除或者替换)。
这东西给我的感觉就像是数据库里的约束或者主外键

先来看看使用吧:

class X {
public attribute a: Number;
public attribute b: Number;
}

var x = new X();
x.a=1.0;
x.b=2.0;
System.out.println(x.a); // prints 1.0
System.out.println(x.b); // prints 2.0


JavaFX 使用由类名、用大括号包含的属性初始化程序列表构成的说明性语法来完成对象的
初始化。每个初始化程序由属性名、冒号、定义属性值的表达式( JavaFX 也支持在上下文
中进行增量式求值)
var chris = Person {
name: "Chris"
children:[Person {
          name: "Dee"
                 },
          Person {
           name: "Candice"
         }]
};

初始化:
var date1 = new Date(95, 4, 23); // call a java constructor
var date2 = Date { // create the same date as an object literal
month: 4
date: 23
year: 95
};
System.out.println(date1 == date2); // prints true

JavaFX 允许在对象中声明本地变量。这些变量只在对象本身的范围内可见。另外,一个引
用被初始化对象的变量可以通过var 关键字声明为假属性(pseudo-attribute)
var chris = Person {
var: me //这句未能通过netbeans解析,但是指南上确是这样
name: "Chris"
var child1 = Person {
name: "Dee"
parent: me
}
var child2 = Person { name: "Candice" }
children: [child1, child2]
};

几个对JFX类的疑问:访问控制符还起不起作用?其它JAVA中关于修饰类的修饰符还能不能用?这里不在多写了,试试吧

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

Global site tag (gtag.js) - Google Analytics