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

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

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






                The forced cast is the use of the method DirectCase。 The cast is forced because a conver

          sion to the desired type will occur; regardless if it is possible or not。 If the cast is not possible; a  

          cast exception is thrown。 

               Another way to perform a type cast is to use a query cast; as illustrated by the following  

          code; again assuming the inheritance hierarchy of this section。 



          Dim backToDerived As Derived = TryCast(baseCls; Derived) 



                In the code; the cast involves using the TryCast method。 This cast is a query because a cast  

          will be attempted。 If the cast is successful; then an instance of the type is assigned to the vari

          able backToDerived。 If the cast is not possible; then backToDerived is assigned a  Nothing value。  

          No exception is thrown。 This casting technique is possible only for reference types。 


…………………………………………………………Page 217……………………………………………………………

                            CH AP T E R   7   ■    L E AR N IN G   AB O U T   CO M P O N E N TS   AN D   C L AS S  H I E R AR C HI E S 195 



The Important Stuff to Remember 



In this chapter; you learned about interfaces and implementations。 Here are the key points  

to remember: 



     o  Using interfaces is not like using inheritance。 They are two separate designs; even though  

        interfaces will use inheritance。 



     o  Interfaces at an abstract level imply ideas of how you would like your application to work。 



     o  Ideas when implemented as interfaces should be general and applicable to multiple  

        application implementations for the domain。 



     o  Ideas are represented using Visual Basic interfaces。 And interfaces are implemented  

        using classes or structures。 But note that interfaces are reference types。  



     o  Factories are used to instantiate implementations and return an instance that imple

        ments an interface。 Using a factory means that the user of an interface does not need to  

        know which type of implementation object is instantiated。 



     o  Interfaces can be considered as facets that might be targeting a specific characteristic of  

        an implementation。 However; as illustrated in the previous chapter; interfaces do not  

        expose Friend state or the  Friend workings of the implementations。 



     o  ponents are a fundamental way of developing code and should be your primary  

        way of writing code。 For the remainder of this book; interfaces will be used whenever  

        possible。 Take notice and try to understand what the idea behind the interface is。 



Some Things for You to Do 



The following are a couple things for you to do to apply what you’ve learned in this chapter。 



     1。  Implement your own tax system using the predefined base classes。  



■Note  Because of the number of possible tax systems; I do not provide an answer for exercise 1。 If you  

want me to review your answer; please send it to me at christianhgross@gmail。。 



     2。  Add functionality to the tax engine’s base classes that implement the behavior of a  

         minimum tax…free amount。 This means if your ine is not above the minimum tax

         free amount; you do not pay taxes。 


…………………………………………………………Page 218……………………………………………………………


…………………………………………………………Page 219……………………………………………………………

C  H  A  P  T  E  R     8 



 ■ ■ ■ 



Learning About ponent

Oriented Architecture 



So far; you have learned the essentials of Visual Basic。 With the essentials; you can write a  

functional application that uses classes; objects; interfaces; and inheritance。 In this chapter;  

you’ll learn about a Visual Basic programming technique that some developers define as structural。  

A structural programming technique is when the code does not directly serve to solve a business  

problem; but solves a problem relating to building the application。  

     Another purpose of this chapter is to give you more experience with developing ponent

oriented code。 In particular; you’ll learn how to develop a kernel。 Developing a kernel demon

strates the power and flexibility of the ponent…oriented development approach。 You can  

build a working system even though you might not know what all of the implementations are  

ahead of time。 This type of development makes it possible to modularize development; in that  

individual teams are responsible for certain interfaces。 Then once the pieces have been imple

mented; they are fitted together like a jigsaw puzzle。 Of course; interfaces and ponents do  

not guarantee success; but they do ensure one team does not need to wait for another team to  

finish its code。  

     To demonstrate all of these concepts; we’ll build an application that controls lighting in  

buildings; using the kernel programming approach。 



Understanding Kernels 



Imagine you are the owner of a house or mercial building; and you want to reduce your  

electricity bill。 One way of doing that is to automate the lighting system of your building so that  

lights are on when they need to be。 What is unique about this system is that you have a controller  

and the devices that are controlled。  

     The controller controls devices that it does not know about ahead of time; but fulfills a  

contract。 The lighting system is a controller; programmatically called a kernel; because the  

rooms that it controls are not known initially。 The rooms are known when the controller is used  

to manage the lighting system。 The kernel programming approach is one where a core of func

tionality is developed。 The core functionality by itself does not work; because it relies on other  

pieces to perform certain tasks。 In programming terms; this is called developing ponents  

that use interfaces and implementations。  



                                                                                                                 197 


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