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

Understanding object-oriented programming

Before you start learning about design patterns, it's always good to cover the basics and go through object-oriented paradigms in Python. The object-oriented world presents the concept of objects that have attributes (data members) and procedures (member functions). These functions are responsible for manipulating the attributes. For instance, take an example of the Car object. The Car object will have attributes such as fuel level, isSedan, speed, and steering wheel and coordinates, and the methods would be accelerate() to increase the speed and takeLeft() to make the car turn left. Python has been an object-oriented language since it was first released. As they say, everything in Python is an object. Each class instance or variable has its own memory address or identity. Objects, which are instances of classes, interact among each other to serve the purpose of an application under development. Understanding the core concepts of object-oriented programming involves understanding the concepts of objects, classes, and methods.

Objects

The following points describe objects:

  • They represent entities in your application under development.
  • Entities interact among themselves to solve real-world problems.
  • For example, Person is an entity and Car is an entity. Person drives Car to move from one location to the other.

Classes

Classes help developers to represent real-world entities:

  • Classes define objects in attributes and behaviors. Attributes are data members and behaviors are manifested by the member functions
  • Classes consist of constructors that provide the initial state for these objects
  • Classes are like templates and hence can be easily reused

For example, class Person will have attributes name and age and member function gotoOffice() that defines his behavior for travelling to office for work.

Methods

The following points talk about what methods do in the object-oriented world:

  • They represent the behavior of the object
  • Methods work on attributes and also implement the desired functionality

A good example of a class and object created in Python v3.5 is given here:

class Person(object):
    def __init__(self, name, age):  #constructor
        self.name = name    #data members/ attributes
        self.age = age
    def get_person(self,):   # member function
         return "<Person (%s, %s)>" % (self.name, self.age)


p = Person("John", 32)    # p is an object of type Person
print("Type of Object:", type(p), "Memory Address:", id(p))

The output of the preceding code should look as follows:

主站蜘蛛池模板: 桃源县| 桑日县| 昭苏县| 南汇区| 兰西县| 桓台县| 新营市| 新竹市| 吉首市| 天峨县| 青海省| 白玉县| 朝阳县| 伊金霍洛旗| 南开区| 南川市| 南郑县| 德阳市| 会宁县| 施秉县| 海丰县| 延庆县| 商丘市| 海原县| 新津县| 新竹市| 和龙市| 汉源县| 汕尾市| 岚皋县| 广平县| 陈巴尔虎旗| 安平县| 平谷区| 西城区| 兴安盟| 正镶白旗| 合江县| 抚松县| 仁化县| 兴宁市|