Business > eBook-PDF > An Introduction to Object-Oriented Programming, 3rd Edition, By Timothy Budd [PDF] [eBook] (All)

An Introduction to Object-Oriented Programming, 3rd Edition, By Timothy Budd [PDF] [eBook]

Document Content and Description Below

1. Thinking Object-Orineted. Why is OOP Popular? Language and Thought. A New Paradigm. A Way of Viewing the World. Computation as Simulation. A Brief History. 2. Layers of Abstraction. Lay... ers of Abstraction. Other Forms of Abstraction. A Short History of Abstraction Mechanisms. 3. Object-Oriented Design. Responsibility Implies Noninterference. Programming in the Small and in the Large. Why Begin with Behavior. A Case Study in RDD. CRC Cards-Recording Responsibility. Components and Behavior. Software Components. Formalize the Interface. Designing the Representation. Implementing Components. Integration of Components. Maintenance and Evolution. 4. Classes and Methods. Encapsulation. Class Definitions. Methods. Variations on Class Themes. 5. Messages, Instances, and Initialization. Message-Passing Syntax. Accessing the Receiver from Within a Method. Object Creation. Pointers. Memory Recovery. Constructors. Constant Values. Destructors and Finalizers. Metaclasses in Smalltalk. 6. A Case Study: The Eight Queens Puzzle. The Eight-Queens Puzzle. Using Generators. The Eight-Queens Puzzle in Each Language. 7. A Case Study: A Billiards Game. The Elements of Billiards. Graphical Objects. The Main Program. Using Inheritance. 8. Inheritance and Substitution. An Intuitive Description of Inheritance. Subclass, Subtype, and Substitution. Interfaces. Forms of Inheritance. Inheritance in Various Languages. Inheritance and Constructors. The Benefits of Inheritance. The Costs of Inheritance. 9. Case Study - A Card Game. The Class Playing Card. Data and View Classes. The Game. Card Piles-Inheritance in Action. Playing the Polymorphic Game. The Graphical User Interface. 10. Subclasses and Subtypes. Substitutability. Subtypes. The Substitutability Paradox. Is This a Problem? Dynamically Typed Languages. Pre and Post-conditions. Scandinavian Semantics. 11. Static and Dynamic Behavior. Static versus Dynamic Typing. Static and Dynamic Classes. Static versus Dynamic Method Binding. 12. Implications of Substitution. Memory Layout. Assignment. Copies and Clones. Equality. 13. Multiple Inheritance. Inheritance as Categorization. Problems Arising from Multiple Inheritance. Multiple Inheritance of Interfaces. Inheritance from Common Ancestors. Inner Classes. 14. Polymorphism and Software Reuse. Polymorphism in Programming Languages. Mechanisms for Software Reuse. Efficiency and Polymorphism. Will Widespread Software Reuse Become Reality. 15. Overloading. Type Signature and Scopes. Overloading Based on Scopes. Overloading Based on Type Signatures. Redefinition. Polyadicity. Multi-Methods. 16. Overriding. Notating Overriding. Replacement versus Refinement. Deferred Methods. Overriding versus Shadowing. Covariance and Contravariance. Variations on Overriding. 17. The Polymorphic Variable. Simple Polymorphic Variables. The Receiver Variable. Downcasting. Pure Polymorphism. 18. Generics. Template Functions. Template Classes. Inheritance in Template Arguments. Case Study-Combining Separate Classes. 19. Container Classes. Containers in Dynamically Typed Languages. Containers in Statically-Typed Languages. Restricting Element Types. Iteration. 20. A Case Study: The STL. Iterators. Function Objects. Example Program-An Inventory System. Example Program-Graphs. A Concordance. The Future of OOP. 21. Frameworks. Reuse and Specialization. Example Frameworks. 22. An Example Framework: TheAWT and Swing. The AWT Class Hierarchy. The Layout Manager. Listeners. User Interface Components. Case Study: A Color Display. The Swing component Library. 23. Object Interconnections. Coupling and Cohesion. Subclass Clients and User Clients. Control of Access and Visibility. Intentional Dependency. 24. Design Patterns. Controlling Information Flow. Describing Patterns. Iterator. Software Factory. Strategy. Singleton. Composite. Decorator. The Double-Dispatching Pattern. Flyweight. Proxy. Façade. Observer. 25. Reflection and Introspection. Mechanisms for Understanding. Methods of Objects. Mechanisms for Modification. Metaclasses. 26. Network Programming. Addresses, Ports, and Sockets. A Simple Client/Server Program. Multiple Clients. Transmitting Objects over a Network. Providing More Complexity. 27. Implementation. Compilers and Interpreters. The Receiver as Argument. Inherited Methods. Overridden Methods. Name Encoding. Dispatch Tables. Bytecode Interpreters. Just-in-Time Compilation. A. Source for the Eight-Queens Puzzle. Eight-Queens in Apple Object Pascal. Eight-Queens in C++. Eight-Queens in Java. Eight-Queens in Objective C. Eight-Queens in Smalltalk. [Show More]

Last updated: 2 years ago

Preview 1 out of 86 pages

Buy Now

Instant download

We Accept:

We Accept
document-preview

Buy this document to get the full access instantly

Instant Download Access after purchase

Buy Now

Instant download

We Accept:

We Accept

Reviews( 0 )

$25.00

Buy Now

We Accept:

We Accept

Instant download

Can't find what you want? Try our AI powered Search

109
0

Document information


Connected school, study & course


About the document


Uploaded On

Dec 20, 2022

Number of pages

86

Written in

Seller


seller-icon
eBookSmTb

Member since 3 years

2886 Documents Sold

Reviews Received
469
73
57
16
42
Additional information

This document has been written for:

Uploaded

Dec 20, 2022

Downloads

 0

Views

 109

Document Keyword Tags

Recommended For You

Get more on eBook-PDF »

$25.00
What is Scholarfriends

In Scholarfriends, a student can earn by offering help to other student. Students can help other students with materials by upploading their notes and earn money.

We are here to help

We're available through e-mail, Twitter, Facebook, and live chat.
 FAQ
 Questions? Leave a message!

Follow us on
 Twitter

Copyright © Scholarfriends · High quality services·