Nicht aus der Schweiz? Besuchen Sie lehmanns.de
An Introduction to Object-Oriented Design in C++ - Jo Ellen Perry, Harold D. Levin

An Introduction to Object-Oriented Design in C++

Buch | Hardcover
750 Seiten
1995
Pearson (Verlag)
978-0-201-76564-9 (ISBN)
CHF 119,95 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
Maintaining that the best way to learn introductory programming concepts is through an object-oriented approach, this work teaches OO design and uses OO features of C++ from the outset. Running examples are designed to help readers build on concepts as they learn new topics.
An Introduction to Object-Oriented Design in C++ introduces object-oriented program development from the ground up. Rather than forcing students to learn procedural design and then unlearn it when they are later taught object-oriented programming, this book helps students develop strong object-oriented design skills from the beginning. The book covers the full range of object-oriented topics, from the fundamental features common to all general purpose high-level languages, through classes, inheritance and polymorphism. The authors introduce students to common difficulties that arise in design and implementation, and then motivate new language features as aids for overcoming those difficulties.

Jo Perry is a Lecturer in the Department of Computer Science at North Carolina State University, where she received her Ph.D in Mathematics. She and Harold Levin were instrumental in the introduction of C++ as the major teaching language of the department. She has been involved as a judge for the ACM Programming Contest Finals since 1988. Harold Levin is an Associate Professor in the Department of Philosophy and Religion at North Carolina State University. He received his BS in Mathematics from MIT and his Ph.D in Philosophy from MIT. During his years at MIT, he was a systems programmer at Project MAC. He has taught with the Computer Science Department at all levels, including seminars in C++ and object-oriented programming. 0201765640AB04062001

1. Object-Oriented Program Development.


What is Object-Oriented Program Development?



Sample Problem: The Convenience Store Owner.



Sample Problem: The Changemaker.



Compilers and Languages: Making the Program Run.



Why Do People Think Object-Oriented Development Is So Important?



2. C++ Tools: Anatomy of a Simple Program.


The Convenience Store Owner Program, Line-by-Line.



Strong Information.



Expressions, Statements, and Numeric Types.



C++ Streams.



Programming Style: Does It Matter?



Making Sure the Analysis, Design, and Implementation are Correct.



3. Implementing Object Behaviors with Functions.


C++ Functions that Return Values.



Procedures: Functions that Do Not Return Values.



Scopes and Lifetimes.



Programming Errors and Functions.



Refining Object-Oriented Designs.



Using Class Libraries.



4. Decision Behavior: Selections and Alternatives.


The if and if/else Statements.



Evaluating Boolean Expressions.



Typedefs and Enumerations.



More Alternative Selections, switch Statements.



The Conditional Operator: Providing Shorthand for a Simple if/else.



Recursive Functions.



Testing: The Evaluation Part of the Implementation Process.



Application Example: Navigational Running Lights.



5. Iteration Behavior: Loops.


The First Structure: while Loops.



Constructing Loops: Starting, Quitting, and Getting to the Next Step.



An Alternative Loop Structure: Do/While Loops.



The Third Loop Structure: for Loops.



Nested Loops.



Alternative Loop Constructions and the Break Statement.



Design Modification: Redesigning the Calculator.



A New Problem: Text Analysis.



6. List Objects and Array-Based Implementations.


Implementing List Objects with Old Programming Tools.



Arrays: the Fundamentals.



List Type Objects.



Array-Based Implementations of Simple Lists.



Sorting and Searching.



Strings: Implementation Tool for Names and Phrases.



List of Names.



Multidimensional Arrays.



Redesigning the Changemaker to Fit Implementation Changes.



7. Producing Objects through Classes.


Simple Objects: Structs.



Implementing Objects with Behaviors: Classes.



A Simple List Class with an Array Data Member.



Constructors Revisited.



A Class with String Data.



Classes with Class Type Member Data.



An Inventory Table Class.



The i. Changemaker; Revised with Classes.



Organization of Program Source Code and Libraries.



Sharing Constant Class Data.



8. First Class Objects.


A Numerical Example: Rational Numbers.



A Second Example: 3-Dimensional Vectors.



Designing First Class Types.



Efficiency: In Lining.



9. Storage Management for Objects.


Pointers.



Dealing with Failures: Exit () and Assert ().



References.



Dynamic Array Creation.



First Class Strings.



Extensible Arrays.



Implementation Standards for Classes with Pointers Data.



10. Inheritance and Reuse.


Incremental Programming: Extending an Existing Class.



Single Inheritance: Designing a Class Hierarchy.



Multiple Inheritance.



Using Inheritance to Organize Code.



C++ Streams: Built-In Inheritance.



Changing the Changemaker Solution to Incorporate Inheritance.



11. Polymorphism and Generic Classes.


Ad Hoc Polymorphism: Overloading and Overriding.



Parametrized Polymorphism through Templates.



Runtime Polymorphism.



Abstract Base Classes.



Polymorphism and Cloning for Array-Based Lists.



Changemaker, Revisited Again.



12. Container Classes and Linked Lists.


Example of Containers.



Linked Lists and Traditional List Algorithms.



Implementing a Linked List Type via List and Node Classes.



Iterator Classes.



List Variations Using Inheritance and Templates.



Stacks and Queues.



Message Passing: Letting the Nodes Do It Recursively.



Tables.



13. An Example Reconsidered: Some Issues in Design.


An Example Revisited: Some Issues in Design.



Has-a vs. Is-a Relationships.



Memory Leaks, a Common Flaw.



Finite State Machines for specification and Imple- mentation Correctness.



Separating Public Interface from Implementation Details.



Appendices.


A: ASCII Character Codes and Escape Sequences.



B: C++ Keywords.



C: Operators Precedence.



D: Stream Input.



E: Stream Output.



F: File Streams.



Bibliography.


Index. 0201765640T04062001

Erscheint lt. Verlag 20.9.1995
Sprache englisch
Maße 187 x 233 mm
Gewicht 1255 g
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Software Entwicklung Objektorientierung
ISBN-10 0-201-76564-0 / 0201765640
ISBN-13 978-0-201-76564-9 / 9780201765649
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
objektorientierte Entwicklung modularer Maschinen für die digitale …

von Thomas Schmertosch; Markus Krabbes; Christian Zinke-Wehlmann

Buch | Hardcover (2024)
Hanser (Verlag)
CHF 62,95
Entwicklung von GUIs für verschiedene Betriebssysteme

von Achim Lingott

Buch (2023)
Hanser, Carl (Verlag)
CHF 55,95
Principles and Practice Using C++

von Bjarne Stroustrup

Buch | Softcover (2024)
Addison Wesley (Verlag)
CHF 119,95