SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
'                                     $




Object-Oriented Programming
        An Overview




&                                     %
                              OOP-1
'                                               $

                           Contents


• OOP and software productivity

• Features and characteristics of OOP

• Major concepts of OOP

• OOP languages

• OOP and traditional design

• Advantages and disadvantages




&                                               %
                                        OOP-2
'                                                                      $

         What is Object-Oriented Programming


• A well-regarded and widely accepted programming technology

• Potential for much improved productivity

• Uses interacting program objects

• Objects are independent entities

• Objects respond to messages




&                                                                      %
                                                               OOP-3
'                                                             $

                Software Productivity Factors


• Modularity (separation of duties)

• Extensibility (responsive to future requirements)

• Modifiability (easy to make small changes)

• Flexibility (not cast in concrete)

• Maintainability (big savings)

• Reusability (don’t reinvent the wheel)




&                                                             %
                                                      OOP-4
'                                                              $

            Software Engineering Techniques


• Data abstraction (hidden data representation)

• Program encapsulation (operations married to data)

• Software libraries (fixed reusable)

• Reusable Objects (flexible, reusable)

• Polymorphism (type-related generic operations)

• Maintenance automation




&                                                              %
                                                       OOP-5
'                                                   $

                     OOP Central Concepts


• Data abstraction

• Encapsulation

• Classification

• Inheritance

• Polymorphism




&                                                   %
                                            OOP-6
'                                                  $

                     OOP Characteristics


• Class definitions

• Inheritance and class hierarchy

• Operator and Function overloading

• Generic classes

• Class libraries




&                                                  %
                                           OOP-7
'                                                         $

                       OOP Languages


• Simula

• Modula

• Smalltalk

• Ada

• Objective-C

• CLOS (Common Lisp Object Standard)

• Standard C++

• Java

• Scripting languages: Perl, Javascript, Python
&                                                         %
                                                  OOP-8
'                                                    $

                   Traditional vs. OOP


• Procedural Programming :


    data structures + algorithms = Program


• OOP :


          objects + messages = Program




&                                                    %
                                             OOP-9
'                                                  $

                        Class Definition


• Blueprint for building Objects

• Members: methods and fields

• private and public

• API—application programming interface

• relation with other classes




&                                                  %
                                          OOP-10
'                                $

         An Object


               Public
Method       Internal
 call         working
            interface




&                                %
                        OOP-11
'                                                   $

             Inheritance Example


     Auto                          Sedan

    Engine                    2−4 Doors
    Steering                  4 Wheels
                   Inherits
    Breaks                    Radio

    Doors                     Trunk

    Wheels
    Tires
&                                                   %
                                           OOP-12
'                                                 $

            Inheritance Example


    Sedan                 Family Sedan

2−4 Doors                 4 Doors
4 Wheels                  AC
              Inherits    Automatic
Radio
                          Big Trunk
Trunk                     Fuel Economy




&                                                 %
                                         OOP-13
'                                                 $

            Inheritance Example


    Sedan                 Sports Sedan

2−4 Doors                 2 Doors
4 Wheels                  AC
              Inherits    Manual
Radio
                          Tiny Trunk
Trunk                     Horse power
                          High Price



&                                                 %
                                         OOP-14
'                                                       $

                        Inheritance Concepts


• Deriving new classes from old ones

• Single inheritance

• Partial inheritance

• Multiple inheritance

• Inheritance chain




&                                                       %
                                               OOP-15
'                                                    $

                          Generic Classes


• Class definition for unspecified data

• Container class

• Flexible and reusable




&                                                    %
                                            OOP-16
'                                                        $

                 Reusability Considerations


• Pipes / filter (ala UNIX): slow, restrictive

• Subroutine libraries: fast, inflexible

• Object libraries: flexible, and efficient




&                                                        %
                                                OOP-17
'                                                $

                    Design Approaches


• Ways to Break The Problem Down

• Procedural decomposition

• Data decomposition

• Object-oriented decomposition




&                                                %
                                        OOP-18
'                                                           $

                 Procedural Decomposition


• Also known as functional or traditional design

• Decompose the solution into major steps

• Decompose each major step further

• Decomposition procedural-oriented




&                                                           %
                                                   OOP-19
'                                                       $

            Traditional Design Disadvantages


• Data and operations are separated

• No data abstraction or info hiding

• Not responsive to changes in problem space

• Inadequate for concurrent problems




&                                                       %
                                               OOP-20
'                                                                $

             Object-oriented Design Principle


• Identify interacting objects

• Characterize each object, establish attributes

• Identify the data and operations within each object

• Identify requests answered by each object

• Identity services required of other objects

• Establish relationships to other objects

• Group similar objects together

• Implement common super classes

• Implement different objects as classes
&                                                                %
                                                        OOP-21
'                                                $

                           Advantages


• Responsive to changes

• Encapsulation

• Simplify Testing, debugging

• Easy to understand

• Avoid reinventing the wheel

• Easier to manage, to maintain

• Off-the-shelf software




&                                                %
                                        OOP-22
'                                                     $

                   Potential Disadvantages


• Over generalization

• Artificial class relations

• Unnecessary complications




&                                                     %
                                             OOP-23

Más contenido relacionado

Similar a Oop Overview

A Gentle Introduction To Object Oriented Php
A Gentle Introduction To Object Oriented PhpA Gentle Introduction To Object Oriented Php
A Gentle Introduction To Object Oriented Php
Michael Girouard
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 Notes
Ross Lawley
 
Introduction into PHP5 (Jeroen van Sluijs)
Introduction into PHP5 (Jeroen van Sluijs)Introduction into PHP5 (Jeroen van Sluijs)
Introduction into PHP5 (Jeroen van Sluijs)
Stefan Koopmanschap
 
Practical Intro Merb
Practical Intro MerbPractical Intro Merb
Practical Intro Merb
Paul Pajo
 

Similar a Oop Overview (20)

Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory CourseRuby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
 
When To Use Ruby On Rails
When To Use Ruby On RailsWhen To Use Ruby On Rails
When To Use Ruby On Rails
 
Object
ObjectObject
Object
 
Perl University: Getting Started with Perl
Perl University: Getting Started with PerlPerl University: Getting Started with Perl
Perl University: Getting Started with Perl
 
Workin On The Rails Road
Workin On The Rails RoadWorkin On The Rails Road
Workin On The Rails Road
 
Modern Webdevelopment With Ruby On Rails
Modern Webdevelopment With Ruby On RailsModern Webdevelopment With Ruby On Rails
Modern Webdevelopment With Ruby On Rails
 
Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)Dynamic Languages In The Enterprise (4developers march 2009)
Dynamic Languages In The Enterprise (4developers march 2009)
 
Relational Cloud
Relational CloudRelational Cloud
Relational Cloud
 
Scala in Model-Driven development for Apparel Cloud Platform
Scala in Model-Driven development for Apparel Cloud PlatformScala in Model-Driven development for Apparel Cloud Platform
Scala in Model-Driven development for Apparel Cloud Platform
 
Smart Client Development
Smart Client DevelopmentSmart Client Development
Smart Client Development
 
A Gentle Introduction To Object Oriented Php
A Gentle Introduction To Object Oriented PhpA Gentle Introduction To Object Oriented Php
A Gentle Introduction To Object Oriented Php
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 Notes
 
Introduction into PHP5 (Jeroen van Sluijs)
Introduction into PHP5 (Jeroen van Sluijs)Introduction into PHP5 (Jeroen van Sluijs)
Introduction into PHP5 (Jeroen van Sluijs)
 
Jumping Into Java Then!
Jumping Into Java Then!Jumping Into Java Then!
Jumping Into Java Then!
 
The Forces Driving Java
The Forces Driving JavaThe Forces Driving Java
The Forces Driving Java
 
Becoming A Php Ninja
Becoming A Php NinjaBecoming A Php Ninja
Becoming A Php Ninja
 
Practical Intro Merb
Practical Intro MerbPractical Intro Merb
Practical Intro Merb
 
Practical Intro Merb
Practical Intro MerbPractical Intro Merb
Practical Intro Merb
 
Amoocon May 2009 Germany
Amoocon May 2009   GermanyAmoocon May 2009   Germany
Amoocon May 2009 Germany
 
The 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPThe 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEP
 

Último

Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Sheetaleventcompany
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
dlhescort
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
lizamodels9
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
lizamodels9
 

Último (20)

It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 May
 
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRLBAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
BAGALUR CALL GIRL IN 98274*61493 ❤CALL GIRLS IN ESCORT SERVICE❤CALL GIRL
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
Chandigarh Escorts Service 📞8868886958📞 Just📲 Call Nihal Chandigarh Call Girl...
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
 
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best ServicesMysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
Mysore Call Girls 8617370543 WhatsApp Number 24x7 Best Services
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
(Anamika) VIP Call Girls Napur Call Now 8617697112 Napur Escorts 24x7
 
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRLMONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
MONA 98765-12871 CALL GIRLS IN LUDHIANA LUDHIANA CALL GIRL
 
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
Call Girls From Pari Chowk Greater Noida ❤️8448577510 ⊹Best Escorts Service I...
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
Call Girls Zirakpur👧 Book Now📱7837612180 📞👉Call Girl Service In Zirakpur No A...
 

Oop Overview

  • 1. ' $ Object-Oriented Programming An Overview & % OOP-1
  • 2. ' $ Contents • OOP and software productivity • Features and characteristics of OOP • Major concepts of OOP • OOP languages • OOP and traditional design • Advantages and disadvantages & % OOP-2
  • 3. ' $ What is Object-Oriented Programming • A well-regarded and widely accepted programming technology • Potential for much improved productivity • Uses interacting program objects • Objects are independent entities • Objects respond to messages & % OOP-3
  • 4. ' $ Software Productivity Factors • Modularity (separation of duties) • Extensibility (responsive to future requirements) • Modifiability (easy to make small changes) • Flexibility (not cast in concrete) • Maintainability (big savings) • Reusability (don’t reinvent the wheel) & % OOP-4
  • 5. ' $ Software Engineering Techniques • Data abstraction (hidden data representation) • Program encapsulation (operations married to data) • Software libraries (fixed reusable) • Reusable Objects (flexible, reusable) • Polymorphism (type-related generic operations) • Maintenance automation & % OOP-5
  • 6. ' $ OOP Central Concepts • Data abstraction • Encapsulation • Classification • Inheritance • Polymorphism & % OOP-6
  • 7. ' $ OOP Characteristics • Class definitions • Inheritance and class hierarchy • Operator and Function overloading • Generic classes • Class libraries & % OOP-7
  • 8. ' $ OOP Languages • Simula • Modula • Smalltalk • Ada • Objective-C • CLOS (Common Lisp Object Standard) • Standard C++ • Java • Scripting languages: Perl, Javascript, Python & % OOP-8
  • 9. ' $ Traditional vs. OOP • Procedural Programming : data structures + algorithms = Program • OOP : objects + messages = Program & % OOP-9
  • 10. ' $ Class Definition • Blueprint for building Objects • Members: methods and fields • private and public • API—application programming interface • relation with other classes & % OOP-10
  • 11. ' $ An Object Public Method Internal call working interface & % OOP-11
  • 12. ' $ Inheritance Example Auto Sedan Engine 2−4 Doors Steering 4 Wheels Inherits Breaks Radio Doors Trunk Wheels Tires & % OOP-12
  • 13. ' $ Inheritance Example Sedan Family Sedan 2−4 Doors 4 Doors 4 Wheels AC Inherits Automatic Radio Big Trunk Trunk Fuel Economy & % OOP-13
  • 14. ' $ Inheritance Example Sedan Sports Sedan 2−4 Doors 2 Doors 4 Wheels AC Inherits Manual Radio Tiny Trunk Trunk Horse power High Price & % OOP-14
  • 15. ' $ Inheritance Concepts • Deriving new classes from old ones • Single inheritance • Partial inheritance • Multiple inheritance • Inheritance chain & % OOP-15
  • 16. ' $ Generic Classes • Class definition for unspecified data • Container class • Flexible and reusable & % OOP-16
  • 17. ' $ Reusability Considerations • Pipes / filter (ala UNIX): slow, restrictive • Subroutine libraries: fast, inflexible • Object libraries: flexible, and efficient & % OOP-17
  • 18. ' $ Design Approaches • Ways to Break The Problem Down • Procedural decomposition • Data decomposition • Object-oriented decomposition & % OOP-18
  • 19. ' $ Procedural Decomposition • Also known as functional or traditional design • Decompose the solution into major steps • Decompose each major step further • Decomposition procedural-oriented & % OOP-19
  • 20. ' $ Traditional Design Disadvantages • Data and operations are separated • No data abstraction or info hiding • Not responsive to changes in problem space • Inadequate for concurrent problems & % OOP-20
  • 21. ' $ Object-oriented Design Principle • Identify interacting objects • Characterize each object, establish attributes • Identify the data and operations within each object • Identify requests answered by each object • Identity services required of other objects • Establish relationships to other objects • Group similar objects together • Implement common super classes • Implement different objects as classes & % OOP-21
  • 22. ' $ Advantages • Responsive to changes • Encapsulation • Simplify Testing, debugging • Easy to understand • Avoid reinventing the wheel • Easier to manage, to maintain • Off-the-shelf software & % OOP-22
  • 23. ' $ Potential Disadvantages • Over generalization • Artificial class relations • Unnecessary complications & % OOP-23