Discussion:
[問題] 關於IMPORT以及PACKAGE的問題
(时间太久无法回复)
zxwxz
2006-10-18 08:21:20 UTC
Permalink
想請問一下關於這方面的問題
感覺會問的很新手希望大家教一下

就是當我在想程式架構時遇到的問題
目前寫出來的程式架構是這樣

A
|
B
|
C

簡單的用三層表示這三個的繼承關係
C繼承B B繼承A
但是現在有點問題了
當我想要這整個CLASS都做的有階層
該怎樣讓其他程式在IMPORT C的時候是IMPORT A.B.C
希望板上能有點範例
還有關於PACKAGE我一直很簡單的想成是資料夾路徑而已
但是卻在implement時發現一直沒搞好架構關係
感覺整個階層會跟PACKAGE完全反序
請各位大大幫忙教一下該怎樣實做這個部份

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.223.204.191
痞子軍團團長
2006-10-18 08:51:46 UTC
Permalink
※ 引述《zxwxz (zxwxz)》之銘言:
: 想請問一下關於這方面的問題
: 感覺會問的很新手希望大家教一下
: 就是當我在想程式架構時遇到的問題
: 目前寫出來的程式架構是這樣
: A
: |
: B
: |
: C
: 簡單的用三層表示這三個的繼承關係
: C繼承B B繼承A
: 但是現在有點問題了
: 當我想要這整個CLASS都做的有階層
: 該怎樣讓其他程式在IMPORT C的時候是IMPORT A.B.C

你不是說 C 繼承 B,B 繼承 A
那就是說,你的 A, B, C 其實都是 class
那,為啥還有 import A.B.C 這種寫法?

所以,要嘛你這篇用錯詞,錯字一堆導致別人看不懂
(我是沒什麼學問,不過整篇幾乎都看不懂)

要嘛就是你根本還沒考清楚 package name 跟 class 的差別

: 希望板上能有點範例

我還以為只有付錢的大爺能夠大辣辣的講這種話...

: 還有關於PACKAGE我一直很簡單的想成是資料夾路徑而已
: 但是卻在implement時發現一直沒搞好架構關係
: 感覺整個階層會跟PACKAGE完全反序
: 請各位大大幫忙教一下該怎樣實做這個部份

--
 侃侃長論鮮窒礙  網站:http://www.psmonkey.idv.tw
 眾目睽睽無心顫  個人版:telnet://legend.twbbs.org
 煢居少聊常人事 
 殺頭容易告白難  歡迎參觀 Java 版(@ptt.cc)精華區 \囧/

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.197.180
zxwxz
2006-10-18 18:00:47 UTC
Permalink
※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: ※ 引述《zxwxz (zxwxz)》之銘言:
: : 想請問一下關於這方面的問題
: : 感覺會問的很新手希望大家教一下
: : 就是當我在想程式架構時遇到的問題
: : 目前寫出來的程式架構是這樣
: : A
: : |
: : B
: : |
: : C
: : 簡單的用三層表示這三個的繼承關係
: : C繼承B B繼承A
: : 但是現在有點問題了
: : 當我想要這整個CLASS都做的有階層
: : 該怎樣讓其他程式在IMPORT C的時候是IMPORT A.B.C
: 你不是說 C 繼承 B,B 繼承 A
: 那就是說,你的 A, B, C 其實都是 class
: 那,為啥還有 import A.B.C 這種寫法?
: 所以,要嘛你這篇用錯詞,錯字一堆導致別人看不懂
: (我是沒什麼學問,不過整篇幾乎都看不懂)
: 要嘛就是你根本還沒考清楚 package name 跟 class 的差別
: : 希望板上能有點範例
: 我還以為只有付錢的大爺能夠大辣辣的講這種話...
: : 還有關於PACKAGE我一直很簡單的想成是資料夾路徑而已
: : 但是卻在implement時發現一直沒搞好架構關係
: : 感覺整個階層會跟PACKAGE完全反序
: : 請各位大大幫忙教一下該怎樣實做這個部份
我早就說了問題很新手
這只是一種想法
我想說比如A是"形狀" B是"圓形" C是"橢圓形"
我只是想說讓整個在IMPORT的時候能夠有從屬關係的展現而已
我沒有想要當大爺
只是我很新手沒看範例很多都看不是很懂
希望大家能幫忙我解答一下我的疑惑

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.223.204.191
a***@kkcity.com.tw
2006-10-19 02:15:44 UTC
Permalink
Post by zxwxz
我早就說了問題很新手
這只是一種想法
我想說比如A是"形狀" B是"圓形" C是"橢圓形"
我只是想說讓整個在IMPORT的時候能夠有從屬關係的展現而已
我沒有想要當大爺
只是我很新手沒看範例很多都看不是很懂
希望大家能幫忙我解答一下我的疑惑
先去搞清楚 import 是什麼意思.
www.javaworld.com.tw 做全文搜索.

import 何來能夠展現從屬關係? 你給
些實際例子你想做什麼吧.

Alien
--
┌─────◆KKCITY◆─────┐ ◢ ╱  想要成立班系社團站台嗎? 
│ bbs.kkcity.com.tw │ █▉ ─ KKcity即日起開放BBS站申請囉!
└──《From:202.72.0.45 》──┘ ◥ ╲ 免程式技術、硬體成本的選擇!!
--
zxwxz
2006-10-18 19:30:21 UTC
Permalink
※ 引述《***@kkcity.com.tw ( )》之銘言:
: ※ 引述《***@ptt.cc (zxwxz)》之銘言:
: > 我早就說了問題很新手
: > 這只是一種想法
: > 我想說比如A是"形狀" B是"圓形" C是"橢圓形"
: > 我只是想說讓整個在IMPORT的時候能夠有從屬關係的展現而已
: > 我沒有想要當大爺
: > 只是我很新手沒看範例很多都看不是很懂
: > 希望大家能幫忙我解答一下我的疑惑
: 先去搞清楚 import 是什麼意思.
: www.javaworld.com.tw 做全文搜索.
: import 何來能夠展現從屬關係? 你給
: 些實際例子你想做什麼吧.
: Alien

例如import java.lang.Character
裡邊的 java lang Character當然可以沒有關係 只是資料夾做分類
我是想說我做的class想變成
形狀.圓形.橢圓形
drawing.circle.Ellipse
只是好像變成在橢圓的時候要import時 不知道要怎樣import
我是想把"Drawing"這個CLASS放在和"drawing"這個資料夾同個位置

把"Circle"這個CLASS放在"drawing"這個資料夾中 和"circle"資料夾同個位置

把"Ellipse"這個CLASS放在"drawing"資料夾中"circle"資料夾中
和"ellipse"資料夾同位置

好像怪怪的 我只是想這樣做啦!
現在卻發現PACKAGE只能用來分類而已??排除同名稱CLASS@@
做從屬好像怪怪的,好像又可以啊!
只是Ellipse要import Circle時不知道怎樣import
我的問題大概是在這邊卡住了
還是說這樣的作法並不是很好呢?

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.102.49
Alien
2006-10-18 20:39:21 UTC
Permalink
※ 引述《zxwxz (zxwxz)》之銘言:
: ※ 引述《***@kkcity.com.tw ( )》之銘言:
: : 先去搞清楚 import 是什麼意思.
: : www.javaworld.com.tw 做全文搜索.
: : import 何來能夠展現從屬關係? 你給
: : 些實際例子你想做什麼吧.
: : Alien
: 例如import java.lang.Character
: 裡邊的 java lang Character當然可以沒有關係 只是資料夾做分類
: 我是想說我做的class想變成
: 形狀.圓形.橢圓形
: drawing.circle.Ellipse
: 只是好像變成在橢圓的時候要import時 不知道要怎樣import
: 我是想把"Drawing"這個CLASS放在和"drawing"這個資料夾同個位置
: 把"Circle"這個CLASS放在"drawing"這個資料夾中 和"circle"資料夾同個位置
: 把"Ellipse"這個CLASS放在"drawing"資料夾中"circle"資料夾中
: 和"ellipse"資料夾同位置
: 好像怪怪的 我只是想這樣做啦!
: 現在卻發現PACKAGE只能用來分類而已??排除同名稱CLASS@@
: 做從屬好像怪怪的,好像又可以啊!
: 只是Ellipse要import Circle時不知道怎樣import
: 我的問題大概是在這邊卡住了
: 還是說這樣的作法並不是很好呢?

簡單一句, 你把 package 的用途搞錯了

我不明白為什麼你要弄成 drawing.circle.ellipse 這
樣的 package.

Alien

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.72.0.45
zxwxz
2006-10-19 01:40:52 UTC
Permalink
※ 引述《***@bbs.sayya.org (foolish)》之銘言:
: ※ 引述《***@ptt.cc (zxwxz)》之銘言:
: > 形狀.圓形.橢圓形
: > drawing.circle.Ellipse
: > 只是好像變成在橢圓的時候要import時 不知道要怎樣import
: > 我是想把"Drawing"這個CLASS放在和"drawing"這個資料夾同個位置
: > 把"Circle"這個CLASS放在"drawing"這個資料夾中 和"circle"資料夾同個位置
: > 把"Ellipse"這個CLASS放在"drawing"資料夾中"circle"資料夾中
: > 和"ellipse"資料夾同位置
: > 好像怪怪的 我只是想這樣做啦!
: > 現在卻發現PACKAGE只能用來分類而已??排除同名稱CLASS@@
: > 做從屬好像怪怪的,好像又可以啊!
: > 只是Ellipse要import Circle時不知道怎樣import
: package drawing.circle.ellipse;
: // 從根目錄開始填,就是classpath的起點
: import drawing.circle.Circle;
: public class Ellipse {
: Circle c;
: }
-----------------------------------------
: package drawing.circle.ellipse;
: // 從根目錄開始填,就是classpath的起點
: import drawing.Circle;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
import 這個部份是不是跟資料夾路徑無關啊?
那所以其實所有的資料都丟在同個資料夾下嗎?
因為Ellipse是放在drawing.circle資料夾底下
而Circle是放在drawing資料夾底下
有辦法往上一層的資料夾做import嗎?
這邊該如何解決呢?

: public class Ellipse {
: Circle c;
: }

因為以前在用JCREATER來COMPILE程式的時候
如果IMPORT的CLASS還沒有實際存在CLASS但是有JAVA原始檔的話
他會直接幫你把JAVA檔COMPILER成CLASS
只是JAVA的PACKAGE路徑必須要符合目前資料夾的路徑
所以一直假定是跟路徑有關

感謝qrtt1的解答

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.102.49
愚者
2006-10-19 01:53:13 UTC
Permalink
※ 引述《zxwxz (zxwxz)》之銘言:
: ※ 引述《***@bbs.sayya.org (foolish)》之銘言:
: : package drawing.circle.ellipse;
: : // 從根目錄開始填,就是classpath的起點
: : import drawing.circle.Circle;
: : public class Ellipse {
: : Circle c;
: : }
: -----------------------------------------
: : package drawing.circle.ellipse;
: : // 從根目錄開始填,就是classpath的起點
: : import drawing.Circle;
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: import 這個部份是不是跟資料夾路徑無關啊?
[-------------------------------------]
怎麼會無關呢! 用package就是跟路徑有關

: 那所以其實所有的資料都丟在同個資料夾下嗎?
: 因為Ellipse是放在drawing.circle資料夾底下
: 而Circle是放在drawing資料夾底下
[---------------------------------------]

不管你放在那,由package根目錄開始寫。
不過參考你文章的描述,您的Ellipse是放在drawing.circle.ellipse

: 有辦法往上一層的資料夾做import嗎?
: 這邊該如何解決呢?
: : public class Ellipse {
: : Circle c;
: : }


: 因為以前在用JCREATER來COMPILE程式的時候
: 如果IMPORT的CLASS還沒有實際存在CLASS但是有JAVA原始檔的話
: 他會直接幫你把JAVA檔COMPILER成CLASS
: 只是JAVA的PACKAGE路徑必須要符合目前資料夾的路徑
: 所以一直假定是跟路徑有關
: 感謝qrtt1的解答

請先停止發問

先弄懂package再來,

也請停止胡思亂想,package、import是不是能怎樣

請徹底地學會package、import、classpath

於此討論串將不再回答假設性、幻想性的提問。


==============================================================

classpath的解說
http://tinyurl.com/yb74ub

package 與 import
http://tinyurl.com/yhdd2z

Package - 套裝類別的設計
http://tinyurl.com/tlv2d

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.26.34.20

继续阅读narkive:
Loading...