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

Understanding classes and instances

In the previous chapter, you learned some of the basics of the object-oriented paradigm, including classes and objects, also known as instances. Now, when you pe deep into the programming languages, the class is always going to be the type and the blueprint. The object is the working instance of the class, and one or more variables can hold a reference to an instance.

Let's move to the world of our best friends, the dogs. If we want to model an object-oriented application that has to work with dogs and about a dozen dog breeds, we will definitely have a Dog abstract class. Each dog breed required in our application will be a subclass of the Dog superclass. For example, let's assume that we have the following subclasses of Dog:

  • TibetanSpaniel: This is a blueprint for the dogs that belong to the Tibetan Spaniel breed
  • SmoothFoxTerrier: This is a blueprint for the dogs that belong to the Smooth Fox Terrier breed

So, each dog breed will become a subclass of Dog and a type in the programming language. Each dog breed is a blueprint that we will be able to use to create instances. Brian and Merlin are two dogs. Brian belongs to the Tibetan Spaniel breed, and Merlin belongs to the Smooth Fox Terrier breed. In our application, Brian will be an instance of the TibetanSpaniel subclass, and Merlin will be an instance of the SmoothFoxTerrier subclass.

As both Brian and Merlin are dogs, they will share many attributes. Some of these attributes will be initialized by the class, because the dog breed they belong to determines some features, for example, the area of origin, the average size, and the watchdog ability. However, other attributes will be specific to the instance, such as the name, weight, age, and hair color.

主站蜘蛛池模板: 北海市| 和静县| 侯马市| 宜兴市| 泰兴市| 虎林市| 罗城| 黔西县| 泌阳县| 漠河县| 花垣县| 富锦市| 栾城县| 罗定市| 泰来县| 习水县| 双辽市| 会理县| 成武县| 改则县| 高唐县| 苗栗县| 襄汾县| 霍邱县| 康保县| 陵川县| 乌兰察布市| 醴陵市| 稻城县| 阿荣旗| 石城县| 社旗县| 太康县| 东源县| 八宿县| 图木舒克市| 邵武市| 左云县| 敖汉旗| 达日县| 璧山县|