KEMBAR78
Object Oriented Programming Concepts | PPT
Object-Oriented Programming Concepts  - Khursheed Mohammed
Today’s Presentation    What is an Object?      What is a Class?    What is a Message?    Requirements of Object-Oriented language    Step by step explanation
What is an Object?   An object is a software bundle of related variables and methods. Software objects are often used to model real-world objects you find in everyday life. Visual representation of a software object   A  bicycle modeled as a software object
What is a Class?   A class is a blueprint or prototype that defines the variables and the methods common to all objects of a certain kind.     Class is an implementation of an abstract data type and so encapsulates both data and operations.    Object is run-time instance of class. Classes just sit there, objects do the real work. Memory is allocated for Objects not for Classes.
What is a Message?   Software objects interact and communicate with each other using messages.     The object to which the message is addressed (YourBicycle)     The name of the method to perform (changeGears)     Any parameters needed by the method ( lowerGear )
To be object oriented, a language must support     Encapsulation    Inheritance    Dynamic Binding Some of the popular OO languages are C++ Smalltalk Java Eiffel FORTRAN90 CLOS(Common Lisp Object System) Ada95 Modula-3
Encapsulation: Packaging an object's variables within the protective custody of its methods is called encapsulation . Often, for practical reasons, an object may wish to expose some of its variables or hide some of its methods . Access Levels: X X X X Public X X X Protected X Private World Package Subclass Class Specifier
What is Inheritance?   A class inherits state and behavior from its superclass. Inheritance provides a powerful and natural mechanism for organizing and structuring software programs.  Super Class Subclasses
Properties:  Each subclass  inherits  state (in the form of variable declarations) from the superclass.   Subclasses can add variables and methods to the ones they inherit from the superclass. Subclasses can also  override  inherited methods and provide specialized  implementations for those methods.   You are not limited to just one layer of inheritance. The inheritance tree, or class  hierarchy , can be as deep as needed.   Benefits:  Re-Usability Subclasses provide specialized behaviors from the basis of common elements provided by the superclass. Through the use of inheritance, programmers can reuse the code in the superclass many times.   Can define Abstract Classes Programmers can implement superclasses called  abstract classes  that define "generic" behaviors.
A B C A B C A-1 A-2 B-1 B-2 AB Multi-level Inheritance Multiple Inheritance Multiple Multi-level Inheritance Types of Inheritance:
Dynamic Binding:    Dynamic binding occurs when the type of variable changes at  run-time. A common way for a variable to change its type is via assignment. Bike:= MoutainBike  is safe MountainBike:=Bike  is not safe MountainBike  is declared to have all the features of  Bike  so the assignment does no harm.    A variable that starts life of the type  Bike  may be attached to any object that is a kind of  Bike , including  MountainBike , RacingBike ,…    A variable that starts life of the type  MountainBike  can only be attached to  MountainBike  objects but does not include  RacingBike  or general  Bike.
Polymorphism:    The ability to appear in many forms.    In object-oriented programming,  polymorphism  refers to a programming language's ability to process objects differently depending on their data type or class.  It is the ability to redefine  methods  for  derived classes.   E.g. e-bike Acceleration system. Electronically / Mechanically
Acknowledgements Dr. Yitung Chen Dr. Hsuan-Tsung (Sean) Hsieh
CONCLUSION

Object Oriented Programming Concepts

  • 1.
  • 2.
    Today’s Presentation  What is an Object?  What is a Class?  What is a Message?  Requirements of Object-Oriented language  Step by step explanation
  • 3.
    What is anObject? An object is a software bundle of related variables and methods. Software objects are often used to model real-world objects you find in everyday life. Visual representation of a software object A bicycle modeled as a software object
  • 4.
    What is aClass? A class is a blueprint or prototype that defines the variables and the methods common to all objects of a certain kind.  Class is an implementation of an abstract data type and so encapsulates both data and operations.  Object is run-time instance of class. Classes just sit there, objects do the real work. Memory is allocated for Objects not for Classes.
  • 5.
    What is aMessage? Software objects interact and communicate with each other using messages.  The object to which the message is addressed (YourBicycle)  The name of the method to perform (changeGears)  Any parameters needed by the method ( lowerGear )
  • 6.
    To be objectoriented, a language must support  Encapsulation  Inheritance  Dynamic Binding Some of the popular OO languages are C++ Smalltalk Java Eiffel FORTRAN90 CLOS(Common Lisp Object System) Ada95 Modula-3
  • 7.
    Encapsulation: Packaging anobject's variables within the protective custody of its methods is called encapsulation . Often, for practical reasons, an object may wish to expose some of its variables or hide some of its methods . Access Levels: X X X X Public X X X Protected X Private World Package Subclass Class Specifier
  • 8.
    What is Inheritance? A class inherits state and behavior from its superclass. Inheritance provides a powerful and natural mechanism for organizing and structuring software programs. Super Class Subclasses
  • 9.
    Properties:  Eachsubclass inherits state (in the form of variable declarations) from the superclass. Subclasses can add variables and methods to the ones they inherit from the superclass. Subclasses can also override inherited methods and provide specialized implementations for those methods. You are not limited to just one layer of inheritance. The inheritance tree, or class hierarchy , can be as deep as needed. Benefits:  Re-Usability Subclasses provide specialized behaviors from the basis of common elements provided by the superclass. Through the use of inheritance, programmers can reuse the code in the superclass many times.  Can define Abstract Classes Programmers can implement superclasses called abstract classes that define "generic" behaviors.
  • 10.
    A B CA B C A-1 A-2 B-1 B-2 AB Multi-level Inheritance Multiple Inheritance Multiple Multi-level Inheritance Types of Inheritance:
  • 11.
    Dynamic Binding:  Dynamic binding occurs when the type of variable changes at run-time. A common way for a variable to change its type is via assignment. Bike:= MoutainBike is safe MountainBike:=Bike is not safe MountainBike is declared to have all the features of Bike so the assignment does no harm.  A variable that starts life of the type Bike may be attached to any object that is a kind of Bike , including MountainBike , RacingBike ,…  A variable that starts life of the type MountainBike can only be attached to MountainBike objects but does not include RacingBike or general Bike.
  • 12.
    Polymorphism:  The ability to appear in many forms.  In object-oriented programming, polymorphism refers to a programming language's ability to process objects differently depending on their data type or class. It is the ability to redefine methods for derived classes. E.g. e-bike Acceleration system. Electronically / Mechanically
  • 13.
    Acknowledgements Dr. YitungChen Dr. Hsuan-Tsung (Sean) Hsieh
  • 14.