1 / 28

IS437: Fall 2004 Instructor: Dr. Boris Jukic

IS437: Fall 2004 Instructor: Dr. Boris Jukic. Object Oriented Programming. Learning Objectives. Object-oriented concepts Implementation of object-oriented concepts in Visual Basic .Net. Limitations Of Conventional Languages. Small Vocabulary Highly Procedural

Download Presentation

IS437: Fall 2004 Instructor: Dr. Boris Jukic

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IS437: Fall 2004Instructor: Dr. Boris Jukic Object Oriented Programming

  2. Learning Objectives • Object-oriented concepts • Implementation of object-oriented concepts in • Visual Basic .Net

  3. Limitations Of Conventional Languages • Small Vocabulary • Highly Procedural • Logic Buried In Long Lines Of Code • Difficult To Re-Use Code • Costly To Build And Modify • Allow Only Simple Data Structures

  4. Object-Oriented Approach PROGRAMMING LANGUAGES : SMALLTALK, C++, Java, Visual Basic .Net

  5. Goals To Achieve Greater Semantic Expressiveness - Complex Structure - A Variety Of Relationships - Natural Representation To Reduce Use of Procedural Blocks of Code To Enhance Re-Usability

  6. Objects Correspond to Real World Constructs student university cashier car ATM radio sales report ….

  7. Key OO Concepts Object Encapsulation Class Class Hierarchy And Inheritance Message And Polymorphism

  8. Object & Encapsulation Everything Is Modeled As Object: Millie Buddy Snoopy Dog Cashier A Tax Return Each Object Has A Name (External Identifier) An Object Has Two Components : - Properties (To Store Information) Can Take On Complex Structure : E.G. : Widget_A (Acquisition_Date, Quantity On Hand) (( 3/10/92 $100) ( 3/20/92 $150) ( 3/25/92 $200)) - Methods (Behavior Encapsulation)

  9. Record structure in COBOL Name Social Security # Hobby John Smith 445-09-2049 Swimming Mary Scott 670-37-4095 Bridge Bill Shoemaker 888-92-9104 Dancing John Smith 123-87-3094 Painting Records have no common external identifiers. Attributes are single-valued.

  10. DOG Class Example DOG(COLOR, SPEED) instance-of relationship SNOOPY MILLE PUPPY

  11. Class Hierarchy Example IS-A-Kind of relationship ANIMAL BIRD DOG FISH instance-of relationship POLLY MILLIE MOBY GENERALIZATION-SPECIALIZATION RELATIONSHIP

  12. Class Hierarchy: Another Example IS-A-Kind of relationship STUDENT UNDER-GRADUATE STUDENT MBA STUDENT PH.D. STUDENT

  13. Inheritance (COLOR, SPEED) ANIMAL (Beak, Fly) (Bark, Ears) DOG BIRD FISH POLLY MOBY MILLIE

  14. Polymorphism • Ability to take on many shapes and forms • Many classes can provide the same property or method, without having to worry what type of class it is: • Dog class (eat() method) • Mosquito class (eat() method) • Of course, same method would be implemented in a very different way • Same class can have multiple versions of the method • Overloaded methods

  15. Benefits Of OO Approach: - Greater Semantic Expressiveness Can Represent Is_A Relationships Support Complex Data Structure - Behavior Encapsulation Facilitates The Modeling Of Real-World Objects - Object Library (Re-Use) - Reduce Procedurality Through An Enlarged Vocabulary

  16. Difficulties • Different Programming Paradigm • Resistance, Requires a shift in thinking) • Increased Complexity: • Takes time to become acquainted with the library of objects

  17. Implementation of OO in Visual Basic .Net • Object • Encapsulation (property and method) • Classes: over 6,000 in number • Class hierarchy and inheritance • Polymorphism Visual Basic .Net supports all of the key OO concepts. It is a full-fledged OO system.

  18. class Textbox instance-of relationship TextBox1 object Object, Class, Encapsulation in VB .Net New keyword: creates a new instance of an object class

  19. New Method in VB .Net • Also called constructor • It is the method that classes use to instantiating • objects. Dim label1 as Label Label1 = New Label Dim label1 as New Label or

  20. Add a control to a form Me.controls.add(label1) The control to be added Represents this form Add to the collection Collections of controls on a form

  21. A Simplified View of Class Hierarchy in VB .Net Object IS-A-Kind of relationship Component Data Adapter Control DateTimePicker Label PictureBox

  22. Polymorphism in VB .Net • Functionally equivalent methods can have the • same name • VB .Net implements polymorphism in various • ways: • - overloading • - overriding • - method hiding

  23. Polymorphism in VB .Net: Overloading Messagebox.Show(“Enter numeric data.”) Messagebox.Show(“Enter numeric data.”, “Data entry error”) Messagebox.Show(“This is a message.”, “This is a title bar”, MessageBoxButtons.OK) … Overloading: methods sharing the same name, for the same object, but with different signatures (argument lists)

  24. MessageBox General Form Messagebox.Show(TextMessage) Messagebox.Show(TextMessage, TitlebarText) Messagebox.Show(TextMessage, TitlebarText, MessageBoxButtons) Messagebox.Show(TextMessage, TitlebarText, MessageBoxButtons, MessageBoxIcons)

  25. Polymorphism in VB .Net: Overriding Talk method:“I cannot talk” Animal Parent class and child class may have methods with the same name. The method in child class can override the method in parent class. Dog Talk method: “Bark Bark” Snoopy.Talk “Bark Bark” Snoopy

  26. Polymorphism: method hiding Button1.Click CustomerForm.Click Checkbox1.Click …

  27. Namespaces • Namespaces are file cabinets for classes, similar to the concept of folders. • Namespaces can contain classes, other namespaces, etc. • Namespaces help organize the vast number of classes into a neat structure. • To make use of a class, we need to reference or import the namespace that contains the class.

  28. Namespace Hierarchy System namespace System Windows.Forms namespace System.Windows.Forms Data namespace System.Data Drawing namespace System.Drawing Button OleDb namespace System.Data.OleDb Label OleDb provides interaction with MS Access. TextBox

More Related