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

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
主站蜘蛛池模板: 铁力市| 博兴县| 沙湾县| 阿巴嘎旗| 永定县| 莲花县| 木兰县| 宁晋县| 定结县| 阿坝县| 瑞昌市| 应城市| 清苑县| 崇阳县| 普兰店市| 荃湾区| 循化| 永川市| 合作市| 偃师市| 北票市| 平阴县| 永泰县| 东山县| 宜昌市| 珲春市| 元阳县| 中西区| 鸡泽县| 年辖:市辖区| 洛南县| 福海县| 星座| 镇安县| 苍山县| 东乡族自治县| 台北县| 铜山县| 民县| 婺源县| 平乡县|