posts - 48,comments - 156,trackbacks - 0
          一、類的定義

          1、有了變量和函數(shù),把它們和到一塊不就成了類嗎?

          class People {     
              var name: String;    
              var age: Integer;    
          }
          class Hello {    
              var people: People;  
              function Greeting() {        
                  println("Hello {people.name} ,You are {people.age} years old.");    
              }    
          }

          二、抽象類和接口

          1、抽象類用 abstract 關(guān)鍵字修飾
          abstract class People {    
              var name: String;   
              var age: Integer;   
          }

          和其他面向?qū)ο蟮恼Z言一樣,抽象類是不能創(chuàng)建實(shí)例的。

          2、JavaFX 中沒有接口 ,但是可以直接使用 Java 中的接口 
          interface IHello{
              void Greeting();
          }

          二、類的繼承

          1、用 extends 關(guān)鍵字從另外一個(gè)類繼承
          class Man extends People{
              var sex:Boolean;
          }
           
          2、從抽象類或者接口繼承,也用 extends 關(guān)鍵字,接口中的方法必須重載,用 override 關(guān)鍵字 
          class Hello  extends IHello{
              var people: People;
              override function Greeting():Void {
                  println("Hello {people.name} ,You are {people.age} years old.");
              }
          }
          3、JavaFX 可以多重繼承,即繼承多個(gè)類和多個(gè)接口 
           
          三、對(duì)象的創(chuàng)建
          JavaFX 一般用字面量方式創(chuàng)建對(duì)象,也可以用 new 例如
          var
          p = new People(); 
          或者
          var p = People{
              name:"小明"
              age:18
          }
          四、對(duì)象的初始化
          1、JavaFX 的類沒有構(gòu)造函數(shù),但是有一個(gè) init 初始化塊,當(dāng)對(duì)象創(chuàng)建以后會(huì)運(yùn)行這個(gè)塊里的代碼,例如
          class People {
              init {
                  name="Jone";
                  println("Hello {name} ,You are {age} years old.");
              }
              var name: String;
              var age: Integer;    
          }
          var p =  new People();
          輸出:Hello Jone ,You are 0 years old.
          2、還有一個(gè) postinit 塊,在所有初始化工作完成以后執(zhí)行
          3、isInitialized 函數(shù),判斷一個(gè)成員是否被初始化了,例如
          class People {
              var name: String;
              var age: Integer; 
              init {
              //檢查 name 是否被初始化
                  if (isInitialized(name)){
                      println("Hello {name}.");
                  }else {
                      println("What's your name?");
                  }
              }  
          }
          
          //創(chuàng)建對(duì)象的時(shí)候初始化 name
          var p = People{ name: "Jone" }
          輸出:Hello Jone.
          //創(chuàng)建對(duì)象的時(shí)候沒有初始化 name
          var p = People{
              age: 18
          }
          輸出:What's your name? 
          五、包
          和 Java 的用法完全一樣
          package 關(guān)鍵字
          import 關(guān)鍵字
           
           
           
          posted on 2009-03-10 22:23 左洸 閱讀(1074) 評(píng)論(0)  編輯  收藏 所屬分類: JavaFX 深入淺出
          主站蜘蛛池模板: 蛟河市| 隆尧县| 揭东县| 文成县| 奉新县| 黄山市| 岳普湖县| 日土县| 莱西市| 噶尔县| 峡江县| 工布江达县| 通江县| 厦门市| 保靖县| 萝北县| 赣州市| 富顺县| 荔波县| 和硕县| 教育| 阿克| 清涧县| 施秉县| 保康县| 红河县| 古蔺县| 东海县| 车致| 班戈县| 夹江县| 仙居县| 上饶县| 邢台县| 德令哈市| 洪江市| 晋江市| 大姚县| 大洼县| 垫江县| 客服|