Oops
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Oops

on

  • 1,101 views

 

Statistics

Views

Total Views
1,101
Views on SlideShare
954
Embed Views
147

Actions

Likes
0
Downloads
23
Comments
0

2 Embeds 147

http://mapsrohini.blogspot.com 108
http://mapsrohini.blogspot.in 39

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Oops Presentation Transcript

  • 1. Object Oriented Programming
  • 2. Problem Description
    • “ … customers are allowed to have different types of bank accounts , deposit money , withdraw money and transfer money between accounts ”
  • 3. Procedural Approach
    • bool MakeDeposit(int accountNum,float amount);
    • float Withdraw(int accountNum,float amount);
    • struct Account {
    • char *name;
    • int accountNum;
    • float balance;
    • char accountType;
    • };
  • 4. Procedural Approach cont’d
    • Focus is on procedures
    • All data is shared: no protection
    • More difficult to modify
    • Hard to manage complexity
  • 5. Procedural vs. Object-Oriented
    • Procedural
    • Withdraw, deposit, transfer
    • Object Oriented
    • Customer, money, account
  • 6. Mapping the world to software
    • Objects in the problem domain are mapped to objects in software
    011101 10011 11101 0110100 11010 010101 1110101 10101
  • 7. Object Oriented
    • Data and operations are grouped together
    Account Withdraw Deposit Transfer Interface: Set of available operations
  • 8. Data Encapsulation class Account { public: float withdraw(); void deposit(float amount); private: float balance; );
  • 9. Advantages of Encapsulation
    • Protection
    • Consistency
    • Allows change
  • 10. Objects and Classes
    • Classes reflect concepts, objects reflect instances that embody those concepts.
    girl class object Daria Jane Brittany Jodie
  • 11. Objects and Classes cont’d
    • A class captures the common properties of the objects instantiated from it
    • A class characterizes the common behavior of all the objects that are its instances
  • 12. Objects and Classes cont’d Class BankAccount Balance InterestYTD Owner Account_number Balance 500 InterestYTD Owner Account_number Balance 10,000 InterestYTD Owner Account_number Operations MakeDesposit Transfer WithDraw GetBalance
  • 13. Objects as instances of Classes
    • The world conceptually consists of objects
    • Many objects can be said to be of the same type or class
      • My bank account, your bank account, Bill Gates’ bank account …
    • We call the object type a class
  • 14. Instantiation
    • An Object is instantiated from a Class
    BankAccount myAccount; myAccount = new BankAccount;
  • 15. Objects and Classes
    • Class
      • Visible in source code
      • The code is not duplicated
    • Object
      • Own copy of data
      • Active in running program
      • Occupies memory
      • Has the set of operations given in the class
  • 16. Classification Mammal Rodent Primate Cats Reptile Animal Squirel Rabbit Mouse
  • 17. Classification                                                                           Enjoy a variety of personal banking options from First American. The following outlines a number of First American products. If you have any questions, please visit any First American Branch or contact us .
    • Checking
      • Bank a lot without spending a lot: ValueFirst ® Checking .
      • Few checks and prefer PC Banking or ATMs: Select Access .
      • Earn interest on checking dollars: First Interest Checking
      • You are 55 years or better: 55 & Better Silver
      • Premium checking features with higher interest rates than a personal checking account: First American Platinum Checking
      • Write less than 10 checks per month, or bank through an ATM: Budget Checking .
      • Younger than 24 years old and in school: Student Checking
      • Less than 20 transactions per month (excluding ATM, POS, and CheckCard): First Account
      • Make the most out of every dollar: Tailored Money Sweep
  • 18. Classification Checking Account Value First Select Access First Interest Savings Account Account
  • 19. Inheritance
    • A class which is a subtype of a more general class is said to be inherited from it.
    • The sub-class inherits the base class’ data members and member functions
  • 20. Inheritance cont’d
    • A sub-class has all data members of its base-class plus its own
    • A sub-class has all member functions of its base class (with changes) plus its own
    • Inheritance is meant to implement sub-typing (don’t abuse it)
  • 21. Abstraction
    • Management of complexity
    • Hierarchical classification:
      • is-a relationship: inheritance
      • has-a relationship: containment
  • 22. Polymorphism
    • One interface
    • Multiple implementations
    • Inheritance
    • Method overloading
  • 23. What is a good class ?
    • A class abstracts objects
    • A class should be non-trivial in the context of the program (has data structures and operations different from other classes)
  • 24. Summary
    • What is Object Oriented Programming?
    • Object-oriented programming is a method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class, and whose classes are all members of one or more hierarchy of classes united via inheritance relationships