官术网_书友最值得收藏!

Details of Object-Oriented Programming

The difficulty of designing, implementing, and maintaining a software project arises with respect to the complexity of the project. A simple calculator could be written using the procedural approach (that is, the procedural programming paradigm), while a bank account management system would be too complex to implement using the same approach.

C++ supports Object-Oriented programming (OOP), a paradigm that is built upon dissecting entities into objects that exist in a web of close intercommunication. Imagine a simple scenario in the real world when you take the remote to change the TV channel. At least three different objects take part in this action: the remote, the TV, and, most importantly, you. To express the real-world objects and their relationship using a programming language, we aren't forced to use classes, class inheritance, abstract classes, interfaces, virtual functions, and so on. The mentioned features and concepts make the process of designing and coding a lot easier as they allow us to express and share ideas in an elegant manner, but they are not mandatory. As the creator of C++, Bjarne Stroustrup, says, "Not every program should be object-oriented." To understand high-level concepts and features of the OOP paradigm, we will try to look behind the scenes. Throughout this book, we will dive into the design of object-oriented programs. Understanding the essence of objects and their relationship, and then using them to design object-oriented programs, is one of the goals of this book.

In this chapter, we'll learn about the following topics in detail:

  • Introduction to OOP
  • The C++ object model
  • Class relationships, including inheritance
  • Polymorphism
  • Useful design patterns
主站蜘蛛池模板: 太和县| 玉溪市| 英吉沙县| 搜索| 晋宁县| 车险| 泰宁县| 平阴县| 湟中县| 石家庄市| 玉环县| 黄石市| 蛟河市| 江阴市| 调兵山市| 方正县| 玉山县| 新化县| 江门市| 休宁县| 城市| 偃师市| 资溪县| 沧州市| 商南县| 卫辉市| 故城县| 佛坪县| 嘉禾县| 岳阳县| 宝坻区| 昌都县| 景谷| 萨嘎县| 吴桥县| 克山县| 天峨县| 峨边| 上杭县| 深水埗区| 宁都县|