Let us review our first object-oriented Python program to clarify some things.

Class definition

Before we can create objects, there must be defined the object template - the so-called class:

class User:                                 # class definition header -> class classname:
    def __init__(self, name, password):     # constructor = special method, which is used for creating object
        self.__name = name                  # private attributes "name" and "password" are initialized
        self.__password = password          # double underscore "__" means private
        
    def changePassword(self, password):     # method changePassword sets new value to attribute "password"
        self.__password = password

    def getPassword(self):                  # Getter method only get back value to attribute (here from "password")                
        return self.__password
        

The Unified Modeling Language UML (a collection of diagrams) is often used to visualize object-oriented structures:

UML class diagram of "User"

UML class diagram

Creation of objects

No object has been created yet. This is done with

user1 = User("Miller","Miller's PWD") # creates object "user1" (constructor is invoked implicitly

The constructor defined above is used here. Values (here strings) are passed as parameters and assigned to the properties (attributes). The following UML object diagram shows these assigned values:

UML object diagram

UML object diagram


Use of objects

Methods are called as follows:

user1.changePassword("Miller's new PWD");   # Method "changePassword" of object "user1" is called (dot separator)
print(user1.getPassword())                  # Method "getPassword" returns the value of attribute "__password"
Note: For a call from outside the object, the methods must be declared as public (no "__" prefix).

Output

Miller's new PWD


Last modified: Friday, 9 September 2022, 8:18 AM