亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12345
最近訪問板塊 發(fā)新帖
樓主: 布布
打印 上一主題 下一主題

求救:關(guān)于抽象類 abstract class [復(fù)制鏈接]

論壇徽章:
0
41 [報告]
發(fā)表于 2006-04-12 16:43 |只看該作者
建議mm們,看看相關(guān)入門書籍,應(yīng)該更好些。

論壇徽章:
0
42 [報告]
發(fā)表于 2006-04-12 18:28 |只看該作者
以下是一些抄來的代碼, 挺簡單的. 看MM好像剛?cè)腴T, 學(xué)習(xí)正好, 就貼上來了.
我們作一個HelloWorld的測試
測試方法:
        HelloWorld.sayHello()是否執(zhí)行正常,并且結(jié)果也符合要求
        HelloWorld.add()方法是否與我們預(yù)期一樣執(zhí)行

根據(jù)測試方案,我們編寫測試案例
        package com.yjsoft.app;
        public class HelloWorld {
                public static void main(String[] args) {
                }
                public String sayHello(){
                        return "Hello world.";
                }
                public int add(int nA,int nB){
                        return nA+nB;
                }
        }

開始為此編寫TestCase
        先設(shè)置屬性,設(shè)置Libraries,將Junit.Jar加入
        創(chuàng)建TestCase測試工程
        創(chuàng)建測試案例類
        選擇要測試的方法
        編寫測試代碼:
           package com.yjsoft.test;
        import junit.framework.Assert;
        import junit.framework.TestCase;
        import com.yjsoft.app.HelloWorld;
        public class HelloWorldTest extends TestCase {
                public HelloWorldTest(String arg0) {
                        super(arg0);
                }
                public static void main(String[] args) {
                        junit.swingui.TestRunner.run(HelloWorldTest.class);
                }
                public void testSayHello() {
                        HelloWorld world=new HelloWorld();
                        //Assert.assertNull(world);
                        assertEquals(world.sayHello(),"Hello World");
                }
                public void testAdd() {
                        HelloWorld world=new HelloWorld();
                        //Assert.assertNull(world);
                        Assert.assertEquals(world.add(1,2),3);
                }
        }
       

        測試
        發(fā)現(xiàn)失敗,方法為sayHello(),看看具體信息“應(yīng)為Hello word. 卻發(fā)現(xiàn) Hello World”
        修改測試函數(shù)
           assertEquals(world.sayHello(),"Hello world.");
        測試,通過

論壇徽章:
0
43 [報告]
發(fā)表于 2006-04-12 19:37 |只看該作者
抽象方法是沒辦法測試的,就像接口沒辦法測試。---- 為什么? 沒代碼測個啥呀!
私有類和私有方法是不能測試的。 ----- 為什么? 你又不知道有這個方法!
抽象類是不能實例化的,所以沒辦法直接測試,但可以間接測試!獪y試?yán)^承了它的實體類。也可以 MOCK 一個對象(就是自己寫個類,繼承這個抽象類),然后測試 MOCK 類的方法。
寫一個抽象類,如:

  1. abstract class HelloWord
  2. {
  3.       public String add(String s1, String s2) {
  4.             return new String(s1 + s2);
  5.       }
  6. }
復(fù)制代碼

自己寫一個繼承它的類:

  1. public class HelloWordSon extends HelloWord
  2. {
  3.        //里面什么都不用寫就行了。
  4. }
復(fù)制代碼

測試方法:

  1. class TestHelloWord extends TestCase
  2. {
  3.        //可以寫setUp() 和 tearDown()
  4.        public void testAdd()
  5.        {
  6.                String s1 = "hello ";
  7.                String s2 = "world!";
  8.                HelloWordSon hw = new HelloWorldSon();
  9.                assert.equals(s1 + s2, hw(s1, s2) );
  10.        }
  11. }
復(fù)制代碼

以上代碼是直接在論壇上編的,不保證可運行。只為說明思想。

論壇徽章:
0
44 [報告]
發(fā)表于 2006-04-12 21:02 |只看該作者
原帖由 艾斯尼勒 于 2006-4-12 13:36 發(fā)表



汗。。。咋想說明白點東西這么難呢?我覺得我理解啊
覺得我是概念說錯還是表述不清?這對我挺重要謝謝

嗯。昨晚咪咪糊糊的,寫錯了一句話,可我還是覺得挺明白了啊,為什么會看暈?zāi),這個真 對我挺重要 ...

我以為你到那個文檔里面抄了幾句貼過來的呢,也許說得重一些了請你原諒?闯鰜砟闶歉憬逃牧耍驗槟愕慕忉審睦碚撋蟻碚f沒有錯,不過我個人不太喜歡這樣的回答。因為這種純理論性的解釋,對于學(xué)習(xí)的新人幫助不大,有時候要知其然,更要知其所以然,我覺得我當(dāng)初學(xué)習(xí)這些概念的時候,一直有個問題困擾我:究竟什么時候,什么地方應(yīng)該用抽象類?如果我搞不懂這個道理的,不能把這個知識點用在合適的地方的話,就算把概念背得爛熟于胸,還是等于沒學(xué)會這個知識點。

論壇徽章:
0
45 [報告]
發(fā)表于 2006-04-12 21:19 |只看該作者
謝謝各位了~~~~
我這周就去買書
好好學(xué)習(xí) 天天向上~~~

論壇徽章:
0
46 [報告]
發(fā)表于 2006-04-12 21:25 |只看該作者
原帖由 布布 于 2006-4-12 08:47 發(fā)表
先謝謝大家了
我對這塊兒確實不懂 所以還是希望各位能講的明白些~~~~~
給大家一個例子 麻煩大家?guī)臀铱匆幌?這個該怎么測試
    public final DataInfo getRecord(final int recNum)
        throws FlightE ...



像以上這種代碼,跟本就沒必要測,它的正確與否完全取決于它里面調(diào)用的這個方法!
只要測試調(diào)用的這個方法就行了。

[ 本帖最后由 chouy 于 2006-4-12 21:36 編輯 ]

論壇徽章:
0
47 [報告]
發(fā)表于 2006-04-12 21:34 |只看該作者
原帖由 perryhg 于 2006-4-12 21:02 發(fā)表

我以為你到那個文檔里面抄了幾句貼過來的呢,也許說得重一些了請你原諒?闯鰜砟闶歉憬逃牧耍驗槟愕慕忉審睦碚撋蟻碚f沒有錯,不過我個人不太喜歡這樣的回答。因為這種純理論性的解釋,對于學(xué)習(xí)的新人幫助不 ...



呵呵,看來教育還是得注重方法,結(jié)合代碼和實驗效果會好些,純粹說教幫助的確不大,我還得調(diào)整
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP