友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

VB2008从入门到精通(PDF格式英文版)-第30章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




           startup project。 



           Figure 3…1。 Structure of projects for the translation application in Visual Basic Express  

           Solution Explorer 



           Building the Translator Application 



           The translation application; like the calculator application example in the previous chapter; is  

           built in pieces: the class library that performs translations based on data delivered by the user  

           interface; the tests; and the user interface。 The individual pieces are ponents that can be fit  

           together like a jigsaw puzzle to create an application。  



           ■Note  ponents are a core part of your development toolbox。 As you will see throughout the book;  

           ponents allow you to reuse and modularize functionality。 ponents result in applications that are main

           tainable and extendable。 Of course; there are limits; and the advantages are not automatic。 You will need to  

           properly design your application to benefit from using ponents。  



           Creating the Translator Class 



           When working with Visual Basic Express; or one of the other Visual Studio products; using the  

           default templates for creating a class library results in the creation of a file named Class1。vb。 It  

           is good that a default file is created for a class library; but the identifier Class1。vb does not imply  

           much。 Therefore; you should go ahead and delete that file from the project (simply renaming  

           the file does not rename the class within it)。 In its place; create the Translator class; as follows: 



                 1。 Right…click the  LanguageTranslator project。 



                 2。 Click Add  New Item。 



                 3。 Select Class。 


…………………………………………………………Page 75……………………………………………………………

                                             CH AP T E R   3   ■    L E AR N IN G   AB O U T   ST R I N G   M A N I PU L A TI O N S  53 



     4。  Rename the file Translator。vb。 



     5。  Click Add to create the file and add it to your project。 



     Notice how quickly you managed to create a Visual Basic class using the IDE。 The speed of  

creating a class file lets you focus on adding source code to the file。 But do not be misled into  

believing that by creating a number of class files; your code will automatically work and be a  

masterpiece。 You still need to think about which files; projects; classes; and tests to create。 



Translating Hello 



The first feature we will implement is the translation of the text “hello。” Since “hello” is English;  

the first translation will be English to German。 The following is the code to implement this  

feature。 It is added to the Translator。vb file in the  LanguageTranslator project。 



Public Class Translator 

    Public Shared Function TranslateHello(ByVal input As String) As String 

        If (input。pareTo(〃hello〃) = 0) Then 

            Return 〃hallo〃 

        ElseIf (input。pareTo(〃allo〃) = 0) Then 

            Return 〃hallo〃 

        End If 

        Return 

    End Function 



End Class 



     Translator is the main class that is exposed to other ponents or pieces of source code。  

Think of it as the identifier of the black box。 The black box has a single method: TranslateHello()。  

TranslateHello() is used to convert the French “allo” and the English “hello” to the German  

“hallo。” The method’s input is a String type; which is a reference object type。  

     In the implementation of TranslateHello(); we pare the contents of the input buffer  

to the parameter  〃hello〃。 If the parison is equal; meaning that the strings are equal; 0 is  

returned。 As you’ll learn in the “Investigating the String Type” section; String is a class that can  

be used to create objects; and objects typically have methods。 One of the String type’s methods  

is pareTo()。 The caller of TranslateHello does not know how you managed to translate one  

word to another language。 The caller actually does not care; it cares only that the method behaves  

as expected。  

     The abstract intent of the TranslateHello() method is to accept some text and; if the text  

is matched; return a German “hallo。” 



Creating the Test Application 



Without questioning the abstract intent; the written code needs some testing。 The test code is  

added to the test application; which is the project TestLanguageTranslator。  

     The following code is added to the Module1。vb file。 Remember to import the  

LanguageTranslator namespace; otherwise; the test code will not pile。 


…………………………………………………………Page 76……………………………………………………………

54        CH AP T E R   3   ■    L E A R N IN G   AB OU T   ST R I N G   M A N I P U L AT IO N S   



          Imports LanguageTranslator 



          Module Module1 

              Private Sub TestTranslateHello() 

                  If (Translator。TranslateHello(〃hello〃)。pareTo(〃hallo〃)  0) Then 

                      Console。WriteLine(〃hello to hallo test failed〃) 

                  End If 

                  If (Translator。TranslateHello(〃allo〃)。pareTo(〃hallo〃)  0) Then 

                      Console。WriteLine(〃allo to hallo test failed〃) 

                  End If 

                  If (Translator。TranslateHello(〃allosss〃)。pareTo(〃〃)  0) Then 

                      Console。WriteLine(〃Verify nontranslated word test failed〃) 

                  End If 

                  If (Translator。TranslateHello(〃  allo〃)。pareTo(〃hallo〃)  0) Then 

                      Console。WriteLine(〃Extra whitespaces allo to hallo test failed〃) 

                  End If 

              End Sub 



              Sub Main() 

                  TestTranslateHello() 

                  Console。ReadKey() 

              End Sub 



          End Module 



               The source code contains four tests。 Each calls the method TranslateHello() with some  

          input and receives the outpu
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!