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

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
主站蜘蛛池模板: 开封县| 固原市| 沧州市| 内江市| 抚顺市| 田阳县| 广平县| 海安县| 新乡县| 富顺县| 家居| 柳林县| 焦作市| 中牟县| 浦北县| 阳新县| 禹城市| 潍坊市| 宁化县| 辛集市| 玛纳斯县| 石泉县| 益阳市| 清河县| 冕宁县| 登封市| 筠连县| 合肥市| 金溪县| 宁武县| 玉树县| 吉首市| 扎鲁特旗| 蓬溪县| 顺平县| 阳新县| 浑源县| 陆丰市| 阿克苏市| 江达县| 临城县|