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

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

          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 關鍵字修飾
          abstract class People {    
              var name: String;   
              var age: Integer;   
          }

          和其他面向對象的語言一樣,抽象類是不能創建實例的。

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

          二、類的繼承

          1、用 extends 關鍵字從另外一個類繼承
          class Man extends People{
              var sex:Boolean;
          }
           
          2、從抽象類或者接口繼承,也用 extends 關鍵字,接口中的方法必須重載,用 override 關鍵字 
          class Hello  extends IHello{
              var people: People;
              override function Greeting():Void {
                  println("Hello {people.name} ,You are {people.age} years old.");
              }
          }
          3、JavaFX 可以多重繼承,即繼承多個類和多個接口 
           
          三、對象的創建
          JavaFX 一般用字面量方式創建對象,也可以用 new 例如
          var
          p = new People(); 
          或者
          var p = People{
              name:"小明"
              age:18
          }
          四、對象的初始化
          1、JavaFX 的類沒有構造函數,但是有一個 init 初始化塊,當對象創建以后會運行這個塊里的代碼,例如
          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、還有一個 postinit 塊,在所有初始化工作完成以后執行
          3、isInitialized 函數,判斷一個成員是否被初始化了,例如
          class People {
              var name: String;
              var age: Integer; 
              init {
              //檢查 name 是否被初始化
                  if (isInitialized(name)){
                      println("Hello {name}.");
                  }else {
                      println("What's your name?");
                  }
              }  
          }
          
          //創建對象的時候初始化 name
          var p = People{ name: "Jone" }
          輸出:Hello Jone.
          //創建對象的時候沒有初始化 name
          var p = People{
              age: 18
          }
          輸出:What's your name? 
          五、包
          和 Java 的用法完全一樣
          package 關鍵字
          import 關鍵字
           
           
           
          posted on 2009-03-10 22:23 左洸 閱讀(1065) 評論(0)  編輯  收藏 所屬分類: JavaFX 深入淺出
          主站蜘蛛池模板: 富源县| 万年县| 彰武县| 方正县| 平和县| 隆昌县| 芒康县| 长治县| 额尔古纳市| 青河县| 永登县| 绥阳县| 绥宁县| 闽侯县| 额尔古纳市| 绿春县| 南江县| 古田县| 甘孜| 沂南县| 金华市| 舟曲县| 乌兰浩特市| 叙永县| 柳河县| 华蓥市| 石台县| 柳州市| 台东市| 河西区| 东明县| 洪雅县| 石嘴山市| 阿瓦提县| 北宁市| 襄汾县| 井陉县| 正宁县| 科技| 谢通门县| 和平县|