- Learning Object-Oriented Programming
- Gastón C. Hillar
- 258字
- 2021-07-16 13:46:03
Generating blueprints for objects
Imagine that you want to draw and calculate the areas of four different rectangles. You will end up with four rectangles drawn, with their different widths, heights, and calculated areas. It would be great to have a blueprint to simplify the process of drawing each rectangle with their different widths and heights.
In object-oriented programming, a class is a blueprint or a template definition from which the objects are created. Classes are models that define the state and behavior of an object. After defining a class that defines the state and behavior of a rectangle, we can use it to generate objects that represent the state and behavior of each real-world rectangle.
Tip
Objects are also known as instances. For example, we can say each rectangle object is an instance of the rectangle class.
The following image shows four rectangle instances drawn, with their widths and heights specified: Rectangle #1, Rectangle #2, Rectangle #3, and Rectangle #4. We can use a rectangle
class as a blueprint to generate the four different rectangle
instances. It is very important to understand the difference between a class and the objects or instances generated through its usage. Object-oriented programming allows us to discover the blueprint we used to generate a specific object. Thus, we are able to infer that each object is an instance of the rectangle
class.

We recognized four completely different real-world objects from the application's requirements. We need classes to create the objects, and therefore, we require the following four classes:
- Square
- Rectangle
- Circle
- Ellipse
- Flask Web全棧開發實戰
- Linux C/C++服務器開發實踐
- 區塊鏈:以太坊DApp開發實戰
- Serverless架構
- Asynchronous Android Programming(Second Edition)
- 硅谷Python工程師面試指南:數據結構、算法與系統設計
- Windows Phone 7.5:Building Location-aware Applications
- Windows內核編程
- Mastering Business Intelligence with MicroStrategy
- Python爬蟲、數據分析與可視化:工具詳解與案例實戰
- 深度學習原理與PyTorch實戰(第2版)
- PHP與MySQL權威指南
- OpenCV with Python Blueprints
- Java EE 7 with GlassFish 4 Application Server
- ROS機器人編程實戰