Universidad Autónoma de Occidente
Local cover image
Local cover image

C++ and the OOP Paradigm /

By: Publication details: Mc Graw hillEdition: 1Description: 188 páginas Ilustraciones, Tablas y Gráficas 23.3 cm x 15.5 cmISBN:
  • 0070511403
Contents:
Preface 지 xill Acknowledgments Chapter 1. The Object-Oriented Paradigm 1.1 The Software Development Process 1.2 The Object-Oriented Paradigm 1.3 Why Do We Need the Object-Oriented Paradigm? 1.4 Object-Oriented Paradigm versus SA/SD 1.5 Data Abstraction 1.6 Class 1.7 Objects 1.8 Data Manipulation 1.9 Reusability of Code 1.10 Toward an Object-Oriented Software Development Methodology 1.11 Learning Object-Oriented Programming 1.12 C++ Programming Fundamentals 1.13 Evolution of C++ 1.14 An Exercise in Object-Oriented Design 1.15 Conclusions 1.16 Exercises 1.17 References Chapter 2. The Fundamentals of C++ 1 1 2 4 5 6 8 9 9 10 11 12 12 13 13 16 17 17 19 2.1 C++ Features 19 2.2 Fundamental Types and Derived Types 20 2.3 C++ Syntax: It Looks Like C, It Feels Like C 22 2.4 Compiling C++ Programs 23 2.5 C++ Programming Environments 24 2.6 main (), Expressions and Statements 25 2.7 Input and Output 26 2.8 Constants, Pointers, and References 30 100 28 2.9 Storage Classes 30 2.10 Declarations and Definitions in C++ 31 2.11 Functions 31 2.12 Structure of C++ Programs 2.13 Storeroom Operations: A C++ Programming Example 32 37 2.14 C++ in Perspective 38 2.15 Exercises 38 2.16 References 39 Chapter 3. Classes 39 3.1 Analysis of the Concept of a Class 3.2 Types and Classes 3.3 Classes and Instances 3.4 Inheritance and Encapsulation 3.5 Prototypes and Classes 3.6 Metaclasses 3.7 The Law of Demeter 40 42 42 43 44 45 46 3.8 Abstract Classes 3.9 Classes in C++ 46 47 3.10 Class Specification 3.11 Examples of Classes 51 55 3.12 Member Functions 58 3.13 Operator Overloading 3.14 Function Name Overloading 60 62 3.15 Constructors 3.16 Friend Functions of a Class 65 3.17 Local Classes. 66 3.18 What Should C++ Compilers Come With? 66 3.19 Class Definitions and Include Files 66 3.20 Structures in C++ 67 3.21 Constants Revisited 67 3.22 Testing Object-Oriented Software 68 3.23 File Manager Example 69 3.24 Conclusion 72 3.25 Exercises 72 3.26 References 72 Chapter 4. Inheritance 75 4.1 Analysis of the Inheritance Concept 75 4.2 Implementation Inheritance 77 4.3 Interface Inheritance and Data Inheritance 77 4.4 Inheritance and Genericity 78 4.5 Inheritance and Delegation 79 4.6 Inheritance and Exploratory Programming 4.7 Effects of Inheritance on Encapsulation 4.8 Reference to Self 80 81 82 4.9 Reusability Revisited 82 4.10 Inheritance in C++ 83 4.11 Access Control Rules 87 4.12 Friends of Classes 88 4.13 Scope 91 4.14 Derived Classes in C++ 92 4.15 Destructors 94 4.16 Inline Functions 95 4.17 Example of Inheritance in Banking 96 4.18 Example Using the Task Library 09 4.19 Classes in Windowing Environments 101 4,20 Static Members of Objects 104 4.21 C++ Class Categories 104 4.22 Conclusions 105 4.23 Exercises 106 4.24 References 106 Chapter 5. Polymorphism 109 5.1 Types of Polymorphism 109 5.2 Virtual Member Function 110 5.3 Mechanism of Virtual Functions 113 5.4 Abstract Classes 116 5.5 const Member Functions 116 5.6 volatile Member Functions 118 5.7 static Member Functions 119 5.8 Virtual Functions and Windows 121 5.9 Destructors 130 5.10 Virtual Base Classes 130 5.11 Achieving Reusability by Overloading 131 5.12 The lostream Facility 132 5.13 IO: Overloading the Insertion and Extraction Operators 134 5.14 IO: Flushing the Streams 136 5.15 Formatted Input and Output 136 5.16 Conclusions 137 5.17 Exercises 137 5.18 References 138 Chapter 6. Multiple Inheritance 6.1 Single versus Multiple Inheritance 6.2 Multiple Inheritance versus Aggregation 6.3 Name Collision 6.4 Conflict-Resolution Schemes 6.5 Multiple Inheritance Class Specification in C++ 142 142 6.6 Mechanism of Multiple Inheritance in C++ 6.7 Example Using Multiple Inheritance 146 6.8 Is Multiple Inheritance Necessary? 148 6.9 FileManager Example: Multiple Inheritance Using Task Library 149 154 6.10 Conclusions 155 6.11 Exercises 155 6.12 References 157 Chapter 7. The Actor Model 157 7.1 Actors 7.2 The Behavior of Actors 158 7.3 Computational Tasks in an Actor's Environment 158 7.4 Replacement Behavior of Actors 159 7.5 Languages Based on the Actor Model 160 7.6 Concurrency in Actor Languages 161 7.7 Comparing Actor Model to C++ 162 7.8 The ACT++ System: Actors in C++ 162 7.9 References 163 Chapter 8. Persistence and Object-Oriented Databases 165 8.1 Persistent Objects 165 8.2 Introducing Persistence in Existing Languages 166 8.3 Impedance Mismatch in Database Applications 167 8.4 Relational Databases versus Object-Oriented Databases 168 8.5 Object-Oriented Database Management Systems (OODBMS) 8.6 References 169 171 Chapter 9. What's New in the Object-Oriented Paradigm? 173 9.1 The Object Management Group 173 9.2 Research into Concurrency in Object-Oriented Paradigm 9.3 Issues in RPC-Based Distributed Object-Oriented Applications 175 176 9.4 Issues in Component Reuse 177 9.5 Constraints 178 9.6 Major Extensions to C++ 179 9.7 Conclusions 9.8 References
Summary: Hemos recorrido un largo camino desde que Knuth escribió su serie de libros titulada El arte de la programación informática. El diseño y desarrollo de software ha evolucionado de ser una forma de arte a una ciencia de la ingeniería. Sin embargo, la ciencia de la programación informática y el desarrollo de software aún no ha alcanzado el nivel de madurez en el que sus usuarios finales reciban componentes de software fiables y fáciles de ensamblar. La plétora de plataformas de software y hardware que compiten por el dominio del mercado hace imperativo desarrollar software que pueda ejecutarse en entornos heterogéneos. El surgimiento del paradigma orientado a objetos como tecnología líder en entornos de desarrollo de software promete elevar la industria del software a un estado de estabilidad con el que hasta ahora solo se podía soñar. Acerca de este libro Este libro ha sido diseñado para proporcionar al lector una introducción al apasionante mundo de la programación orientada a objetos (POO). El énfasis está en presentar los diversos conceptos de diseño y desarrollo de software que se han incorporado a los fundamentos de este nuevo paradigma de programación. Este libro puede servir como una introducción completa a la programación orientada a objetos. Hay capítulos sobre cada uno de los conceptos importantes de ingeniería de software que constituyen la programación orientada a objetos, a saber, clases, herencia, polimorfismo y herencia múltiple. Este libro también ofrece una introducción detallada a C++ como lenguaje orientado a objetos. Se asume que el lector tiene experiencia en el lenguaje de programación C. El lenguaje C++ que se trata en este libro no se ajusta a ninguna implementación particular del lenguaje. Sin embargo, su sintaxis es muy similar a la de la versión 2.1 del sistema C++ de AT&T.
Holdings
Cover image Item type Current library Collection Call number Copy number Status Date due Barcode
Libro Libro CI Gustavo A. Madero 2 Sala General Colección General LCC 1 Available

Incluye Referencias Bibliográficas

Preface 지

xill Acknowledgments

Chapter 1. The Object-Oriented Paradigm

1.1 The Software Development Process

1.2 The Object-Oriented Paradigm

1.3 Why Do We Need the Object-Oriented Paradigm?

1.4 Object-Oriented Paradigm versus SA/SD

1.5 Data Abstraction

1.6 Class

1.7 Objects

1.8 Data Manipulation

1.9 Reusability of Code

1.10 Toward an Object-Oriented Software Development Methodology

1.11 Learning Object-Oriented Programming

1.12 C++ Programming Fundamentals

1.13 Evolution of C++

1.14 An Exercise in Object-Oriented Design

1.15 Conclusions

1.16 Exercises

1.17 References

Chapter 2. The Fundamentals of C++

1

1

2

4

5

6

8

9

9

10

11

12

12

13

13

16

17

17

19

2.1 C++ Features

19

2.2 Fundamental Types and Derived Types

20

2.3 C++ Syntax: It Looks Like C, It Feels Like C

22

2.4 Compiling C++ Programs

23

2.5 C++ Programming Environments

24

2.6 main (), Expressions and Statements

25

2.7 Input and Output

26

2.8 Constants, Pointers, and References

30

100

28

2.9 Storage Classes

30

2.10 Declarations and Definitions in C++

31

2.11 Functions

31

2.12 Structure of C++ Programs

2.13 Storeroom Operations: A C++ Programming Example

32

37

2.14 C++ in Perspective

38

2.15 Exercises

38

2.16 References

39

Chapter 3. Classes

39

3.1 Analysis of the Concept of a Class

3.2 Types and Classes

3.3 Classes and Instances

3.4 Inheritance and Encapsulation

3.5 Prototypes and Classes

3.6 Metaclasses

3.7 The Law of Demeter

40

42

42

43

44

45

46

3.8 Abstract Classes

3.9 Classes in C++

46

47

3.10 Class Specification

3.11 Examples of Classes

51

55

3.12 Member Functions

58

3.13 Operator Overloading

3.14 Function Name Overloading

60

62

3.15 Constructors

3.16 Friend Functions of a Class

65

3.17 Local Classes.

66

3.18 What Should C++ Compilers Come With?

66

3.19 Class Definitions and Include Files

66

3.20 Structures in C++

67

3.21 Constants Revisited

67

3.22 Testing Object-Oriented Software

68

3.23 File Manager Example

69

3.24 Conclusion

72

3.25 Exercises

72

3.26 References

72

Chapter 4. Inheritance

75

4.1 Analysis of the Inheritance Concept

75

4.2 Implementation Inheritance

77

4.3 Interface Inheritance and Data Inheritance

77

4.4 Inheritance and Genericity

78

4.5 Inheritance and Delegation

79

4.6 Inheritance and Exploratory Programming

4.7 Effects of Inheritance on Encapsulation

4.8 Reference to Self

80

81

82

4.9 Reusability Revisited

82

4.10 Inheritance in C++

83

4.11 Access Control Rules

87

4.12 Friends of Classes

88

4.13 Scope

91

4.14 Derived Classes in C++

92

4.15 Destructors

94

4.16 Inline Functions

95

4.17 Example of Inheritance in Banking

96

4.18 Example Using the Task Library

09

4.19 Classes in Windowing Environments

101

4,20 Static Members of Objects

104

4.21 C++ Class Categories

104

4.22 Conclusions

105

4.23 Exercises

106

4.24 References

106

Chapter 5. Polymorphism

109

5.1 Types of Polymorphism

109

5.2 Virtual Member Function

110

5.3 Mechanism of Virtual Functions

113

5.4 Abstract Classes

116

5.5 const Member Functions

116

5.6 volatile Member Functions

118

5.7 static Member Functions

119

5.8 Virtual Functions and Windows

121

5.9 Destructors

130

5.10 Virtual Base Classes

130

5.11 Achieving Reusability by Overloading

131

5.12 The lostream Facility

132

5.13 IO: Overloading the Insertion and Extraction Operators

134

5.14 IO: Flushing the Streams

136

5.15 Formatted Input and Output

136

5.16 Conclusions

137

5.17 Exercises

137

5.18 References

138

Chapter 6. Multiple Inheritance

6.1 Single versus Multiple Inheritance

6.2 Multiple Inheritance versus Aggregation

6.3 Name Collision

6.4 Conflict-Resolution Schemes

6.5 Multiple Inheritance Class Specification in C++

142

142

6.6 Mechanism of Multiple Inheritance in C++

6.7 Example Using Multiple Inheritance

146

6.8 Is Multiple Inheritance Necessary?

148

6.9 FileManager Example: Multiple Inheritance Using Task Library

149

154

6.10 Conclusions

155

6.11 Exercises

155

6.12 References

157

Chapter 7. The Actor Model

157

7.1 Actors

7.2 The Behavior of Actors

158

7.3 Computational Tasks in an Actor's Environment

158

7.4 Replacement Behavior of Actors

159

7.5 Languages Based on the Actor Model

160

7.6 Concurrency in Actor Languages

161

7.7 Comparing Actor Model to C++

162

7.8 The ACT++ System: Actors in C++

162

7.9 References

163

Chapter 8. Persistence and Object-Oriented Databases

165

8.1 Persistent Objects

165

8.2 Introducing Persistence in Existing Languages

166

8.3 Impedance Mismatch in Database Applications

167

8.4 Relational Databases versus Object-Oriented Databases

168

8.5 Object-Oriented Database Management Systems (OODBMS)

8.6 References

169

171

Chapter 9. What's New in the Object-Oriented Paradigm?

173

9.1 The Object Management Group

173

9.2 Research into Concurrency in Object-Oriented Paradigm

9.3 Issues in RPC-Based Distributed Object-Oriented Applications

175

176

9.4 Issues in Component Reuse

177

9.5 Constraints

178

9.6 Major Extensions to C++

179

9.7 Conclusions

9.8 References

Hemos recorrido un largo camino desde que Knuth escribió su serie de libros titulada El arte de la programación informática. El diseño y desarrollo de software ha evolucionado de ser una forma de arte a una ciencia de la ingeniería. Sin embargo, la ciencia de la programación informática y el desarrollo de software aún no ha alcanzado el nivel de madurez en el que sus usuarios finales reciban componentes de software fiables y fáciles de ensamblar. La plétora de plataformas de software y hardware que compiten por el dominio del mercado hace imperativo desarrollar software que pueda ejecutarse en entornos heterogéneos. El surgimiento del paradigma orientado a objetos como tecnología líder en entornos de desarrollo de software promete elevar la industria del software a un estado de estabilidad con el que hasta ahora solo se podía soñar.

Acerca de este libro

Este libro ha sido diseñado para proporcionar al lector una introducción al apasionante mundo de la programación orientada a objetos (POO). El énfasis está en presentar los diversos conceptos de diseño y desarrollo de software que se han incorporado a los fundamentos de este nuevo paradigma de programación. Este libro puede servir como una introducción completa a la programación orientada a objetos. Hay capítulos sobre cada uno de los conceptos importantes de ingeniería de software que constituyen la programación orientada a objetos, a saber, clases, herencia, polimorfismo y herencia múltiple.

Este libro también ofrece una introducción detallada a C++ como lenguaje orientado a objetos. Se asume que el lector tiene experiencia en el lenguaje de programación C. El lenguaje C++ que se trata en este libro no se ajusta a ninguna implementación particular del lenguaje. Sin embargo, su sintaxis es muy similar a la de la versión 2.1 del sistema C++ de AT&T.

There are no comments on this title.

to post a comment.

Click on an image to view it in the image viewer

Local cover image

Libros electrónicos

eLibro eLibro

Recursos de investigación libres

image host image host image host image host image host image host image host image host image host image host

Recursos informativos



TecNM | Tecnológico Nacional de México

© 2025 by Biblionexus