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

Generating classes to create objects

Imagine that we have to draw and calculate the perimeters and areas of three different rectangles. You will end up with three rectangles drawn with their widths and height values and their calculated perimeters and areas. It would be great to have a blueprint to simplify the process of drawing each rectangle with their different width and height values.

In object-oriented programming, a class is a template definition or blueprint from which objects are created. Classes are models that define the state and behavior of an object. After declaring 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.

Note

Objects are also known as instances. For example, we can say each rectangle object is an instance of the Rectangle class.

The following picture shows two rectangle instances named rectangle1 and rectangle2. These instances are drawn with their width and height values specified. We can use a Rectangle class as a blueprint to generate the two different Rectangle instances. Note that rectangle1 has the width and height values of 36 and 20, and rectangle2 has the width and height values of 22 and 41. Each instance has different values for their width and height. It is very important to understand the difference between a class and the objects or instances generated through its usage. The object-oriented programming features supported in Java 9 allow us to discover which blueprint we used to generate a specific object. We will use these features in many examples in the upcoming chapters. Thus, we can determine whether each object is an instance of the Rectangle class or not.

The following picture shows two regular pentagon instances named pentagon1 and pentagon2. These instances are drawn with their length of side values specified. We can use a RegularPentagon class as a blueprint to generate the two different RegularPentagon instances. Note that pentagon1 has the length of a side value of 20, and pentagon2 has the length of a side value of 16. Each instance has different values for its length of a side.

The following picture shows four ellipse instances named ellipse1, ellipse2, ellipse3, and ellipse4. These instances are drawn with their semimajor axis and semiminor axis values specified. We can use an Ellipse class as a blueprint to generate the four different Ellipse instances. Note that each ellipse has its own specific values for the semimajor and semiminor axes.

We recognized nine completely different real-world objects from the Web Service requirements, and therefore, we can generate the following nine classes to create the necessary objects:

  • Circle
  • Ellipse
  • EquilateralTriangle
  • Square
  • Rectangle
  • RegularPentagon
  • RegularHexagon
  • RegularOctagon
  • RegularDecagon
Tip

Note the usage of Pascal case for class names. Pascal case means that the first letter of each word that composes the name is capitalized, while the other letters are in lowercase. This is a coding convention in Java. For example, we use the EquilateralTriangle name for the class that will be the blueprint that will allow us to generate multiple equilateral triangles.

主站蜘蛛池模板: 台安县| 英山县| 兰州市| 高唐县| 建湖县| 高邮市| 英超| 新龙县| 德安县| 海门市| 秀山| 清丰县| 乌兰察布市| 拜泉县| 南部县| 偃师市| 山东省| 土默特左旗| 宜良县| 泰安市| 广饶县| 德安县| 阳江市| 页游| 南平市| 射洪县| 海晏县| 巍山| 临西县| 丹巴县| 图木舒克市| 厦门市| 沙雅县| 交城县| 托里县| 黑龙江省| 大安市| 新巴尔虎右旗| 钟祥市| 湘潭市| 乌审旗|