小牛电子书 > 其他电子书 > VB2008从入门到精通(PDF格式英文版) >

第12章

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

小说: VB2008从入门到精通(PDF格式英文版) 字数: 每页3500字

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




             the  System reference by default; so we don’t need to do it this way。  


…………………………………………………………Page 39……………………………………………………………

                                                                         C H AP TE R   1   ■    R E AD Y ;   ST E AD Y ;   G O! 17 



   To use shorthand for the ClassLibrary call; we would include an  Imports line at the beginning of  

   Module1。vb in ConsoleApplication and change the call to Class1’s HelloWorld() method: 



   Imports ClassLibrary 

   Module Module1 



       Sub Main() 

           Console。WriteLine(〃hello; world〃) 

           Class1。HelloWorld() 

           Console。ReadKey() 

       End Sub 



   End Module 



        But shorthand like this has a downside。 What if we had many references; each containing a class called  

   Class1? In this case; Visual Basic Express wouldn’t know which Class1 to use without the help of longhand。  

   Granted; you are not likely to name multiple classes Class1; but even sensible names can be duplicated in a  

   collection of references。 And if you are using someone else’s code as a reference; the possibility of duplicate  

   names bees higher。 Therefore; you’re better off using longhand in this case。 



Using Variables and Constants 



One of the core concepts in a Visual Basic program is to use variables。 Think of a variable as a  

block of memory where you can store data for later use。 This allows you to pass data around  

within your program very easily。 

      In our ClassLibrary project; it would make life easier if we could define the message to  

display at the beginning of the method。 That way; if we decide to change the message; we can get at  

it much more easily。 As it stands; if we were to add more code before the Console。WriteLine() call;  

we would need to scroll through the text to find the message to change。 A variable is perfect for  

this; as we can define some data (the message to print); and then use it later in our program。 



Public Class Class1 

    Public Shared Sub HelloWorld() 

        Dim message As String = 〃hello; world〃 

        Console。WriteLine(message) 

    End Sub 

End Class 



      Here; we’ve defined a variable called message of type  String (a  String is a length of text)。  

We can then refer to the message variable later when we want to place its contents into the code。  

In the example; we place its contents into the Console。WriteLine() call; which works as before。  

This time; however; we have set the message to display in a separate statement。 

      This is very useful for us; but there is more to variables。 They have something that is called  

scope。 The message variable has method…level scope; which means it is available only in the  

method in which it is defined。 Consider this code: 


…………………………………………………………Page 40……………………………………………………………

18        CH AP T E R   1   ■    R E A DY ;   ST E A DY ;   G O ! 



              Public Shared Sub HelloWorld() 

                  Dim message As String = 〃hello; world〃 

                  Console。WriteLine(message) 

              End Sub 



              Public Shared Sub DisplayeMessageText() 

                  Console。WriteLine(〃hello; world〃) 

                  Console。WriteLine(message) 

              End Sub 



               The DisplayMessageText() method prints two lines of text to tell us what the message text  

          should be。 However; this doesn’t pile; because the piler knows that the variable message is  

          not available to the DisplayMessageText() method because of its method…level scope。 

               To fix this; we need to give message class…level scope by moving it to the beginning of the  

          class definition (as it is used by methods marked Shared; it must also be Shared): 



          Public Class Class1 

              Shared Dim message As String = 〃hello; world〃 

              Public Shared Sub HelloWorld() 

                  Console。WriteLine(message) 

              End Sub 



              Public Shared Sub DisplayeMessageText() 

                  Console。WriteLine(〃hello; world〃) 

                  Console。WriteLine(message) 

              End Sub 

          End Class 



               Now the variable message is shared by all the methods of Class1。 You’ll learn much more  

          about method…level and class…level scopes; as well as the Public and Shared keywords; throughout  

          this book。 

               Sharing a variable among methods of a class can be useful; but it’s sometimes not wise to  

          do this。 That’s because methods can change variables as they carry out their tasks; which can  

          produce unpredictable results further down the line。 We can lock the value by using a constant  

          instead of a variable。 The Const keyword denotes the constant: 



          Public Class Class1 

              Const MESSAGE As String = 〃hello; world〃 

              Public Shared Sub HelloWorld() 

                  Console。WriteLine(MESSAGE) 

              End Sub 



              Public Shared Sub DisplayeMessageText() 

                  Console。WriteLine(〃hello; world〃) 

                  Console。WriteLine(MESSAGE) 

              End Sub 

          End Class 


…………………………………………………………Page 41……………………………………………………………

                                                                      C H AP TE R   1   ■    R E AD Y ;   ST E AD Y ;   G O! 19 



     Constant names are usually all uppercase。 The contents of a constant cannot be changed  

at any point。 The following would not pile; for instance。 



Public Class Class1 

    Const MESSAGE As String = 〃hello; world〃 



    Public Shared Sub DisplayeMessageText() 

        MESSAGE = 〃another text that cannot be assigned〃 

        Console。WriteLine(MESSAGE) 

    End Sub 

End Class 



     Now that you’ve worked through this chapter’s examples; let’s talk a bit about how your  

Visual Basic code in Visual Basic Express actually turns into a program that can run on an oper

ating system like Windows。 



Understanding How the  Framework Works 



When you write Visual Basic source code; you are creating instructions for the program to  

follow。 The instructions are defined using the Visual Basic programming language; which is  

useful for you; but not useful for the puter。 The puter does not understand pieces of  

text; it understands ones and zeros。 To feed instructions to the puter; developers have  

created a higher…level instruction mechanism that converts your instructions into something  

that the puter can understand。 The conversion utility is called a piler。 

     The twist with ; in contrast to traditional programming languages such as C++ and C;  

is that the piler generates a binary…based intermediate language called mon Interme

diate Language (CIL)。 The  Framework then converts the CIL into the binary instructions  

required by the puter’s processor。 

     You might think converting the source code into an intermediate language is inefficient;  

but it is a good approach。 Let’s use an analogy。 There are dogs that learn quickly and those that  

take a while to learn。 For example; German shepherds tend to learn quickly and don’t require  

much repetition of lessons。 On the other hand; bullmastiffs need quite a bit of patience; as they  

tend to be stubborn。 Now imagine being a trainer who has created instructions on how to teach  

things specifically geared toward the bullmastiff。 If those same instructions are used on the  

German shepherd; you end up boring the German shepherd and possibly failing to teach that  

dog what you wanted him to learn。 

     The problem with the instructions is that they are specifically tuned for a single dog。 If you  

want to teach both dogs; you need two sets of instructions。 To solve this problem; the instruc

tions should be general; with added interpretation notes saying things like; “If dog is stu

返回目录 上一页 下一页 回到顶部 2 2

你可能喜欢的