jagomart
digital resources
picture1_Basics Of Programming Pdf 187473 | 2049ch10


 222x       Filetype PDF       File size 1.31 MB       Source: web.physics.utah.edu


File: Basics Of Programming Pdf 187473 | 2049ch10
bitter rick et al object oriented programming in labview labview advanced programming techinques boca raton crc press llc 2001 10object oriented programming in labview this chapter applies a different programming ...

icon picture PDF Filetype PDF | Posted on 02 Feb 2023 | 2 years ago
Partial capture of text on file.
        Bitter, Rick et al "Object-Oriented Programming in LabVIEW"
        LabVIEW Advanced Programming Techinques
        Boca Raton: CRC Press LLC,2001
    
                    10Object-Oriented 
                           Programming
                           in LabVIEW
                   This chapter applies a different programming paradigm to G: Object-Oriented Pro-
                   gramming (OOP). New languages like Java and its use on the Internet have created
                   a lot of interest in this programming paradigm. This chapter explains the concepts
                   that make object-oriented programming work, and applies them to programming in
                   LabVIEW.
                     This chapter begins with definitions of objects and classes. These are the fun-
                   damental building blocks of OOP. Key definitions that define OOP are then presented
                   which give a foundation for programmers to view applications in terms of their
                   constituent objects.
                     Once the basics of OOP are described, the first stage of objects is presented--
                   object analysis. Fundamentally, the beginning of the design is to identify the objects
                   of the system. Section 10.4 discusses Object Design, the process by which methods
                   and properties are specified. The interaction of objects is also defined in the design
                   phase. The third and last phase is the Object Programming phase. This is where the
                   code to implement the methods and properties is performed.
                     This type of structuring seems foreign or even backward to many programmers
                   with experience in structured languages such as LabVIEW.  Object-oriented is how
                   programming is currently being taught to computer science and engineering students
                   around the world. A significant amount of effort has been put into the design of a
                   process to produce high-quality software. This section introduces this type of phi-
                   losophy to LabVIEW graphical programming. 
                     Object-oriented design is supported by a number of languages, including C++
                   and  Java.  This  book  tries  to  refrain  from  using  rules  used  specifically  by  any
                   particular language. The concept of object-oriented coding brings some powerful
                   new design tools, which will be of use to the LabVIEW developer. The concept of
                   the VI has already taught LabVIEW programmers to develop applications modularly.
                   This chapter will expand on modular software development.
                     This chapter discusses the basic methodology of object coding, and also dis-
                   cusses a development process to use. Many LabVIEW programmers have back-
                   grounds in science and engineering disciplines other than software engineering. The
                   world of software engineering has placed significant emphasis into developing basic
                   design processes for large software projects. The intent of the process is to improve
                   ©2001 CRC Press LLC
                
                                 software quality and reduce the amount of time it takes to produce the final product.
                                 Team development environments are also addressed in this methodology.
                                    As stated in the previous paragraph, this chapter only provides a primer on object
                                 design methodology. There are numerous books on this topic, and readers who decide
                                 to use this methodology may want to consult additional resources.
                                 10.1 WHAT IS OBJECT-ORIENTED?
                                 Object-oriented is a design methodology. In short, object-oriented programming
                                 revolves around a simple perspective: divide the elements of a programming problem
                                 into components. This section defines the three key properties of object-oriented:
                                 encapsulation, inheritance, and polymorphism. These three properties are used to
                                 resolve a number of problems that have been experienced with structured languages
                                 such as C.
                                    It will be shown that LabVIEW is not an object-oriented language. This is a
                                 limitation to how much object-oriented programming that can be done in LabVIEW,
                                 but the paradigm is highly useful and it will be demonstrated that many benefits of
                                 object-oriented  design  can  be  used  successfully  in  LabVIEW. This  chapter  will
                                 develop a simple representation for classes and objects that can be used in LabVIEW
                                 application development.
                                 10.1.1  THE CLASS
                                 Before we can explain the properties of an object-oriented environment, the basic
                                 definition of an object must be explained. The core of object-oriented environments
                                 is the “class.” Many programmers not familiar with object-oriented programming
                                 might think the terms “class” and “object” are interchangeable. They are not. A
                                 “class” is the core definition of some entity in a program. Classes that might exist
                                 in LabVIEW applications include test instrument classes, signal classes, or even
                                 digital filters. When performing object programming, the class is a definition or
                                 template for the objects. You create objects when programming; the objects are
                                 created from their class template. A simple example of a class/object relationship is
                                 that a book is a class; similarly, LabVIEW Advanced Programming Techniques is an
                                 object of the type “book.” Your library does not have any book classes on its shelves;
                                 rather, it has many instances of book classes. An object is often referred to as an
                                 instance of the class. We will provide a lot more information on classes and objects
                                 later in this chapter. For now, a simple definition of classes and objects is required
                                 to properly define the principles of object-oriented languages.
                                    A class object has a list of actions or tasks it performs. The tasks objects perform
                                 are referred to as “methods.” A method is basically a function that is owned by the
                                 class object. Generally speaking, a method for a class can only be called by an instance
                                 of the class, an object. Methods will be discussed in more detail in Section 10.2.1.
                                    The object must also have internal data to manipulate. Data that are specified
                                 in the class template are referred to as “properties.” Methods and properties should
                                 be familiar terms now; we heard about both of those items in Chapter 7, ActiveX.
                                 Active X is built on object-oriented principals, and uses the terminology extensively. 
                                 ©2001 CRC Press LLC
                
                                    Experienced C++ programmers know the static keyword can be used to work
                                 around the restriction that objects must exist to use methods and properties. The
                                 implementation of objects and classes in this chapter will not strictly follow any
                                 particular implementations in languages. We will follow the basic guidelines spelled
                                 out in many object-oriented books. Rules regarding objects and classes in languages
                                 like C++ and Java are implementations of object-oriented theory. When developing
                                 objects for non-object-oriented languages, it will be helpful to not strictly model the
                                 objects after any particular implementation. 
                                    LabVIEW does not have a built-in class object.  Some programmers might
                                 suspect that a cluster would be a class template. A cluster is similar to a structure
                                 in C.  It does not directly support methods or properties, and is therefore not a class
                                 object. We will use clusters in the development of class objects in this chapter. One
                                 major problem with clusters is that data is not protected from access, which leads
                                 us to our next object-oriented principal, encapsulation.
                                 10.1.2  ENCAPSULATION
                                 Encapsulation, or data hiding, is the ability for an object to prevent manipulation of
                                 its data by external agents in unknown ways. Global variables in languages like C
                                 and LabVIEW have caused numerous problems in very large-scale applications.
                                 Troubleshooting applications with many global variables that are altered and used
                                 by many different functions is difficult, at best. Object-programming prevents and
                                 resolves this problem by encapsulating data. Data that is encapsulated and otherwise
                                 inaccessible to outside functions is referred to as “private data.” Data that is acces-
                                 sible to external functions is referred to as “public data.”
                                    The object-oriented solution to the problem of excessive access to data is to
                                 make most data private to objects. The object itself may only alter private data. To
                                 modify data private to an object, you must call a function, referred to as a method,
                                 that the object has declared public (available to other objects). The solution that is
                                 provided is that private data may only be altered by known methods. The object that
                                 owns the data is “aware” that the data is being altered. The public function may
                                 change other internal data in response to the function call. Figure 10.1 demonstrates
                                 the concept of encapsulated data.
                                    Any object may alter data that is declared public. This is potentially dangerous
                                 programming and is generally avoided by many programmers. Since public data
                                 may be altered at any time by any object, the variable is nearly as unprotected as a
                                 global  variable.  It  cannot  be  stressed  enough  that  defensive  programming  is  a
                                 valuable technique when larger scale applications are being written. One goal of
                                 this section is to convince programmers that global data is dangerous. If you choose
                                 not to pursue object-oriented techniques, you should at least gather a few ideas on
                                 how to limit access to and understand the danger of global data.
                                    A language that does not support some method for encapsulation is not object-
                                 oriented. Although LabVIEW itself is not object-oriented, objects can be developed
                                 to support encapsulation. Encapsulation is extremely useful in large-scale LabVIEW
                                 applications, particularly when an application is being developed in a team environ-
                                 ment. Global data should be considered hazardous in team environments. It is often
                                 ©2001 CRC Press LLC
The words contained in this file might help you see if this file matches what you are looking for:

...Bitter rick et al object oriented programming in labview advanced techinques boca raton crc press llc this chapter applies a different paradigm to g pro gramming oop new languages like java and its use on the internet have created lot of interest explains concepts that make work them begins with denitions objects classes these are fun damental building blocks key dene then presented which give foundation for programmers view applications terms their constituent once basics described rst stage is analysis fundamentally beginning design identify system section discusses process by methods properties specied interaction also dened phase third last where code implement performed type structuring seems foreign or even backward many experience structured such as how currently being taught computer science engineering students around world signicant amount effort has been put into produce high quality software introduces phi losophy graphical supported number including c book tries refrain fr...

no reviews yet
Please Login to review.