Question? Leave a message!

Introduction to object oriented programming ppt

object oriented programming concepts in java with examples ppt and object oriented programming concepts ppt
GraceRogers Profile Pic
Published Date:12-07-2017
Website URL
Sony Computer Entertainment Europe Research & Development Division Pitfalls of Object Oriented Programming Tony Albrecht – Technical Consultant Developer ServicesWhat I will be covering • A quick look at Object Oriented (OO) programming • A common example • Optimisation of that example • Summary Slide 2Object Oriented (OO) Programming • What is OO programming? – a programming paradigm that uses "objects" – data structures consisting of datafields and methods together with their interactions – to design applications and computer programs. (Wikipedia) • Includes features such as – Data abstraction – Encapsulation – Polymorphism – Inheritance Slide 3What’s OOP for? • OO programming allows you to think about problems in terms of objects and their interactions. • Each object is (ideally) self contained – Contains its own code and data. – Defines an interface to its code and data. • Each object can be perceived as a „black box‟. Slide 4Objects • If objects are self contained then they can be – Reused. – Maintained without side effects. – Used without understanding internal implementation/representation. • This is good, yes? Slide 5Are Objects Good? • Well, yes • And no. • First some history. Slide 6A Brief History of C++ C++ development started 1979 2009 Slide 7A Brief History of C++ Named “C++” 1979 1983 2009 Slide 8A Brief History of C++ First Commercial release 1979 1985 2009 Slide 9A Brief History of C++ Release of v2.0 1979 1989 2009 Slide 10A Brief History of C++ Added • multiple inheritance, • abstract classes, • static member functions, Release of v2.0 • const member functions • protected members. 1979 1989 2009 Slide 11A Brief History of C++ Standardised 1979 1998 2009 Slide 12A Brief History of C++ Updated 1979 2003 2009 Slide 13A Brief History of C++ C++0x 1979 2009 ? Slide 14So what has changed since 1979? • Many more features have been added to C++ • CPUs have become much faster. • Transition to multiple cores • Memory has become faster. Slide 15CPU performance Computer architecture: a quantitative approach Slide 16 By John L. Hennessy, David A. Patterson, Andrea C. Arpaci-DusseauCPU/Memory performance Computer architecture: a quantitative approach Slide 17 By John L. Hennessy, David A. Patterson, Andrea C. Arpaci-DusseauWhat has changed since 1979? • One of the biggest changes is that memory access speeds are far slower (relatively) – 1980: RAM latency 1 cycle – 2009: RAM latency 400+ cycles • What can you do in 400 cycles? Slide 18What has this to do with OO? • OO classes encapsulate code and data. • So, an instantiated object will generally contain all data associated with it. Slide 19My Claim • With modern HW (particularly consoles), excessive encapsulation is BAD. • Data flow should be fundamental to your design (Data Oriented Design) Slide 20