<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            java“類的分包處理”詳細教程

            時間:2025-05-31 03:30:53 java語言 我要投稿
            • 相關推薦

            java“類的分包處理”詳細教程

              ActionScript 3.0 自寫類整理筆記(一)——類的分包處理

              分包情況:

              base包:基礎包,用于存放初級應用類

              bat包:應用包,用于存放高級應用類

              com包:系統化包,用于存放系統化的高級應用模塊類

              exe包:框架包,用于存放框架方面的類

              item包:項目包,用于項目上靠經驗積累下的類

              module包:組件包,用于存放組件的類

              這段時間,我個人的情緒非常低落,為了擺脫這段時間的消極狀態

              因此開始整理在做項目中,碰到的種種問題,來整理出一套可用性高的類庫

              希望自己會堅持下去!

              ActionScript 3.0 自寫類整理筆記(二)——Dot類

              index.base.geom.Dot類講解

              基本功能:記錄xy兩點

              構造函數

              public function Dot(x_:Number = 0,y_:Number = 0,_isListen:Boolean = false)

              前兩個參數表示Dot的初始位置,第三個參數表示是否是一個功能性強的點

              如果為false,當xy發生改變的時候,就不會發布事件,為true則會發布事件、

              bind 綁定顯示對象方法

              public function bind(_dis:DisplayObject,isInTime:Boolean = false):void

              當Dot綁定到DisplayObject上之后,Dot的xy屬性會隨著_dis改變而改變

              第一個參數為綁定的對象,第二個參數表示是否即時綁定

              如果為false,Dot的xy屬性不會隨著_dis的改變而即時改變,但在獲取Dot的xy屬性,或者調用Dot的方法時,將會立即改變并且以_dis的xy屬性為基準

              如果為true,Dot的xy屬性會隨著_dis的改變而立即改變,如果isListen為true,還會即時發布xy改變的事件,那么等于可以偵聽顯示對象的xy屬性,并且在改變后做出即時的反應

              updata 刷新方法

              public function updata():void

              更新顯示對象與Dot的xy屬性

              from 返回兩點之間距離

              public function from(_dot:Dot,isQuadrant:Boolean = false):Number

              第一個參數表示,結束點,第二個參數表示,是否為真實距離

              如果為false,返回的兩點距離絕對是正數,指的是兩點之間的絕對距離

              如果為true,則返回相對坐標,那么是有可能的為負的!

              angle 返回兩點所形成的夾角

              public function angle(_dot:Dot,isRadian:Boolean = false):Number

              第一個參數表示,另外一個點,第二個參數表示,是否為弧度值

              返回的角度是相對順時間的真實角度值,具體的數值變化可以從上面的例子看出

              quadrant 返回相對點所在的象限

              public function quadrant(_dot:Dot,isMaster:Boolean = true):int

              第一個參數表示另外一個點,第二個參數表示是否以該點為標準,具體請看示例

              返回0,表示兩點在同一條橫著或者豎著的直線上

              返回1,表示在第一象限,返回2表示第二象限………… 最高是第四象限。。

              不知道象限是什么意思的,請看這 點擊跳轉"象限"的百度百科頁面

              clear 方法

              public function clear():void

              清空顯示對象

              length 屬性(只讀)

              public function get length():Number

              獲取該點距0,0點的距離

              x 屬性

              public function set x(num:Number):void

              public function get x():Number

              設置x屬性,如果isListen為true,則會發布x改變的事件

              y 屬性

              public function set y(num:Number):void

              public function get y():Number

              設置y屬性,如果isListen為true,則會發布y改變的事件

              isListener 屬性

              public var isListen:Boolean

              指定設置isListen的值,是否為可偵聽xy

              舉例:

              上面的flash展示源代碼:

              import index.base.geom.Dot;

              import index.base.events.DotEvent;

              var po1:Dot = new Dot(0,0,true);

              var po2:Dot = new Dot(0,0,true);

              po1.bind(p1,true);

              po2.bind(p2,true);

              po1.addEventListener(DotEvent.DOT_CHANGE,dotChangeFun);

              po2.addEventListener(DotEvent.DOT_CHANGE,dotChangeFun);

              function dotChangeFun(e:DotEvent):void{

              te.text = "物體1坐標:" po1.x "," po1.y;

              te.appendText("n物體2坐標:" po2.x "," po2.y);

              te.appendText("n兩點之間距離:" po1.from(po2));

              te.appendText("n所形成的角度:" po1.angle(po2));

              te.appendText("n物體1所在象限:" po1.quadrant(new Dot,false));

              te.appendText("n物體2所在象限:" po2.quadrant(new Dot,false));

              te.appendText("n物體1對于物體2在象限:" po2.quadrant(po1));

              }

              p1.addEventListener(MouseEvent.MOUSE_DOWN,p1MouseDownFun);

              p2.addEventListener(MouseEvent.MOUSE_DOWN,p2MouseDownFun);

              function p1MouseDownFun(e:MouseEvent):void{

              p1.startDrag();

              stage.addEventListener(MouseEvent.MOUSE_UP,p1MouseUpFun);

              }

              function p1MouseUpFun(e:MouseEvent):void{

              p1.stopDrag();

              stage.removeEventListener(MouseEvent.MOUSE_UP,p1MouseUpFun);

              }

              function p2MouseDownFun(e:MouseEvent):void{

              p2.startDrag();

              stage.addEventListener(MouseEvent.MOUSE_UP,p2MouseUpFun);

              }

              function p2MouseUpFun(e:MouseEvent):void{

              p2.stopDrag();

              stage.removeEventListener(MouseEvent.MOUSE_UP,p2MouseUpFun);

              }

              下面是類的源代碼:

              package index.base.geom{

              import flash.events.EventDispatcher;

              import flash.display.DisplayObject;

              import index.base.events.DotEvent;

              public class Dot extends EventDispatcher{

              private var _x:Number;

              private var _y:Number;

              private var dis:DisplayObject;

              public var isListen:Boolean;

              public function Dot(x_:Number = 0,y_:Number = 0,_isListen:Boolean = false){

              _x = x_;

              _y = y_;

              isListen = _isListen;

              }

              //綁定DisplayObject

              public function bind(_dis:DisplayObject,isInTime:Boolean = false):void{

              dis = _dis;

              updata();

              if(isInTime) dis.addEventListener("enterFrame",enterFrameFun);

              }

              //幀頻繁事件

              private function enterFrameFun(e:Object):void{

              if(_x != dis.x) x = dis.x;

              if(_y != dis.y) y = dis.y;

              }

              //更新xy數據

              public function updata():void{

              if(dis != null){

              _x = dis.x;

              _y = dis.y;

              }

              }

              //計算該點與另外一點的距離

              public function from(_dot:Dot,isQuadrant:Boolean = false):Number{

              updata();

              var num:Number = Math.sqrt(Math.pow(_dot.x - _x,2) Math.pow(_dot.y - _y,2));

              if(!isQuadrant) num = Math.abs(num);

              return num;

              }

              //計算該點與另外一點所形成的線段與水平線的夾角,按順時間計算

              public function angle(_dot:Dot,isRadian:Boolean = false):Number{

              updata();

              var numx:Number = _dot.x - _x;

              var numy:Number = _dot.y - _y;

              var num:Number = Math.atan(numy/numx);

              if(!isRadian) num = num * 180 / Math.PI;

              return num;

              }

              //返回當前點處在另外一點的哪個象限中 或 返回另外一點處在當前點的哪個象限中

              public function quadrant(_dot:Dot,isMaster:Boolean = true):int{

              updata();

              if(_x == _dot.x || _y == _dot.y){

              return 0;

              }

              var num:int;

              var p1:Boolean = (_x - _dot.x) > 0;

              var p2:Boolean = (_y - _dot.y) > 0;

              num = isMaster ? (p1 ? (p2 ? 2 : 3) : (p2 ? 1 : 4)) : (p1 ? (p2 ? 4 : 1) : (p2 ? 3 : 2));

              return num;

              }

              //返回該點距0點的距離

              public function get length():Number{

              updata();

              var num:Number = Math.sqrt(Math.pow(_x,2) Math.pow(_y,2));

              return num;

              }

              //清除顯示對象

              public function clear():void{

              dis = null;

              }

              //改變X坐標

              public function set x(num:Number):void{

              _x = num;

              if(dis != null) dis.x = num;

              if(isListen) dispatchEvent(new DotEvent(DotEvent.DOT_CHANGE,true));

              }

              //設置X坐標

              public function get x():Number{

              updata();

              return _x;

              }

              //改變Y坐標

              public function set y(num:Number):void{

              _y = num;

              if(dis != null) dis.y = num;

              if(isListen) dispatchEvent(new DotEvent(DotEvent.DOT_CHANGE,true));

              }

              //設置Y坐標

              public function get y():Number{

              updata();

              return _y;

              }

              }

              }

              事件類的代碼:

              package index.base.events{

              import flash.events.Event;

              public class DotEvent extends Event{

              public static const DOT_CHANGE:String = "dotChange";

              public function DotEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false){

              super(type,bubbles,cancelable);

              }

              }

              }

            【java“類的分包處理”詳細教程】相關文章:

            linux配置java環境變量詳細步驟教程08-13

            關于Java類的定義以及執行順序學習教程10-17

            java教程之Java編程基礎09-12

            Photoshop濾鏡詳細教程08-24

            java selenium基本教程09-27

            Java程序規范教程09-03

            Java面向過程教程10-05

            Java的特點學習教程08-27

            Photoshop調色詳細教程05-17

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看