Introduction to Object Oriented Programming An 3rd Edition by Timothy Budd – Ebook PDF Instant Download/Delivery: 9780201760316, 0201760312
Full download Introduction to Object Oriented Programming An 3rd Edition after payment

Product details:
ISBN 10: 0201760312
ISBN 13: 9780201760316
Author: Timothy Budd
Discover the basic concepts of object-oriented programming and the elements of object-oriented design. Timothy Budd teaches objects, class methods, inheritance (including multiple inheritance), polymorphism and principles in a language-independent manner, with examples from five different C++, Delphi, Java, Objective-C, and Smalltalk.
Table of contents:
Thinking Object-Oriented
1.1 Why Is OOP Popular?
1.2 Language and Thought
1.2.1 Eskimos and snow
1.2.2 An example from computer languages
1.2.3 Church’s conjecture and the Whorf hypothesis
1.3 A New Paradigm
1.4 A Way of Viewing the World
1.4.1 Agents and communities
1.4.2 Messages and methods
1.4.3 Responsibilities
1.4.4 Classes and instances
1.4.5 Class hierarchies – inheritance
1.4.6 Method binding and overriding
1.4.7 Summary of object-oriented concepts
1.5 Computation as Simulation
1.5.1 The power of metaphor
1.5.2 Avoiding infinite regression
1.6 A Brief History
Summary
Further Reading
Self-Study Questions
Exercises
2 Abstraction
2.1 Layers of Abstraction
2.2 Other Forms of Abstraction
2.2.1 Division into parts
2.2.2 Encapsulation and interchangeability
2.2.3 Interface and implementation
2.2.4 The service view
2.2.5 Composition
2.2.6 Layers of specialization
2.2.7 Patterns
2.3 A Short History of Abstraction Mechanisms
2.3.1 Assembly language
2.3.2 Procedures
2.3.3 Modules
2.3.4 Abstract data types
2.3.5 Messages, inheritance, and polymorphism
2.3.6 A service-centered view
Summary
Further Information
Self-Study Questions
Exercises
3 Object-Oriented Design
3.1 Programming in the Small and in the Large
3.2 Responsibility Implies Noninterference
3.3 Why Begin with Behavior?
3.4 A Case Study in RDD
3.4.1 Working through scenarios
3.4.2 Identification of components
3.5 The what/who cycle
3.6 Documentation
3.7 The Interactive Intelligent Kitchen Helper
3.7.1 CRC Cards – Recording Responsibility
3.7.2 Give components a physical representation
3.7.3 Components and Behavior
3.8 Postponing decisions
3.9 Preparing for change
3.10 Continuing the scenario
3.11 Interaction diagrams
3.12 Software Components
3.12.1 Behavior and state
3.12.2 Instances and classes
3.12.3 Coupling and cohesion
3.12.4 Formalize the Interface
3.12.5 Coming up with names
3.12.6 Designing the Representation
3.12.7 Implementing Components
3.12.8 Integration of Components
3.12.9 Maintenance and Evolution
Summary
Further Reading
Self-Study Questions
Exercises
4 Classes and Methods
4.1 Encapsulation
4.2 Class Definitions
4.2.1 C++, Java, and C#
4.2.2 Apple Object Pascal and Delphi Pascal
4.2.3 Smalltalk
4.2.4 Other languages
4.3 Methods
4.3.1 Order of methods in a class declaration
4.3.2 Constant or immutable data fields
4.3.3 Separating definition and implementation
4.4 Variations on Class Themes
4.4.1 Methods without classes in Oberon
4.4.2 Interfaces
4.4.3 Properties
4.4.4 Forward definitions
4.4.5 Inner or nested classes
4.4.6 Class data fields
4.4.7 Classes as objects
Summary
Further Reading
Self-Study Questions
Exercises
5 Messages, Instances, and Initialization
5.1 Message-Passing Syntax
5.2 Statically and Dynamically Typed Languages
5.3 Accessing the Receiver from within a Method
5.4 Object Creation
5.4.1 Creation of arrays of objects
5.5 Pointers and Memory Allocation
5.5.1 Memory recovery
5.6 Constructors
5.6.1 The orthodox canonical class form
5.6.2 Constant values
5.7 Destructors and Finalizers
5.8 Metaclasses in Smalltalk
Summary
Further Reading
Self-Study Questions
Exercises
6 A Case Study: The Eight-Queens Puzzle
6.1 The Eight-Queens Puzzle
6.1.1 Creating objects that find their own solution
6.2 Using Generators
6.2.1 Initialization
6.2.2 Finding a solution
6.2.3 Advancing to the next position
6.3 The Eight-Queens Puzzle in Several Languages
6.3.1 The eight-queens puzzle in Object Pascal
6.3.2 The eight-queens puzzle in C++
6.3.3 The eight-queens puzzle in Java
6.3.4 The eight-queens puzzle in Objective-C
6.3.5 The eight-queens puzzle in Smalltalk
6.3.6 The eight-queens puzzle in Ruby
Summary
Further Reading
Self-Study Questions
Exercises
7 A Case Study: A Billiards Game
7.1 The Elements of Billiards
7.2 Graphical Objects
7.2.1 The wall graphical object
7.2.2 The hole graphical object
7.2.3 The ball graphical object
7.3 The Main Program
7.4 Using Inheritance
Summary
Further Information
Self-Study Questions
Exercises
8 Inheritance and Substitution
8.1 An Intuitive Description of Inheritance
8.1.1 The is-a test
8.1.2 Reasons to use inheritance
8.2 Inheritance in Various Languages
8.3 Subclass, Subtype, and Substitution
8.3.1 Substitution and strong typing
8.4 Overriding and Virtual Methods
8.5 Interfaces and Abstract Classes
8.6 Forms of Inheritance
8.6.1 Subclassing for specialization (subtyping)
8.6.2 Subclassing for specification
8.6.3 Subclassing for construction
8.6.4 Subclassing for generalization
8.6.5 Subclassing for extension
8.6.6 Subclassing for limitation
8.6.7 Subclassing for variance
8.6.8 Subclassing for combination
8.6.9 Summary of the forms of inheritance
8.7 Variations on Inheritance
8.7.1 Anonymous classes in Java
8.7.2 Inheritance and constructors
8.7.3 Virtual destroyers
8.8 The Benefits of Inheritance
8.8.1 Software reusability
8.8.2 Code sharing
8.8.3 Consistency of interface
8.8.4 Software components
8.8.5 Rapid prototyping
8.8.6 Polymorphism and frameworks
8.8.7 Information hiding
8.9 The Costs of Inheritance
8.9.1 Execution speed
8.9.2 Program size
8.9.3 Message-passing overhead
8.9.4 Program complexity
Summary
Further Reading
Self-Study Questions
Exercises
9 A Case Study – A Card Game
9.1 The Class Playing Card
9.2 Data and View Classes
9.3 The Game
People also search for:
uml classroom an introduction to object oriented modeling
introduction to java and object oriented programming university of pennsylvania
microsoft visual c # an introduction to object oriented programming
microsoft visual c# 2017 an introduction to object oriented programming
introduction to c memory management and c++ object oriented programming
Tags: Timothy Budd, Introduction to Object, Oriented Programming


