Class is the basic unit of Object-oriented Programming, which defines the structure and behavior of objects. In python, use the class keyword to define a class, and the class name must start with a capital letter. For example:
class Person: def __init__(self, name, age): self.name = name self.age = age
The above code defines a Person class, which has two attributes: name and age. The init() method is the constructor method of the class. It is automatically called when creating an object to initialize the properties of the object.
An object is the concretization of a class, and it has the properties and methods of the class. Objects can be created by adding the class name in parentheses, for example:
person = Person("John", 30)
The above code creates an object of Person class and assigns it to the variable person. Now that the person object has name and age properties, we can access them through the dot operator:
print(person.name)# 输出:John print(person.age)# 输出:30
Classes can have properties and methods. Properties are variables of a class that store the state of an object. Methods are functions of a class that can manipulate the state of an object. For example, we can add a method to the Person class to get the age of the object:
class Person: def __init__(self, name, age): self.name = name self.age = age def get_age(self): return self.age
Now we can get the age of the object through person.get_age():
print(person.get_age())# 输出:30
Inheritance is one of the most important concepts in object-oriented programming. It allows one class to inherit properties and methods from another class. For example, we can create a Student class that inherits from the Person class:
class Student(Person): def __init__(self, name, age, major): super().__init__(name, age) self.major = major
The above code creates a Student class, which inherits from the Person class. The Student class has all the properties and methods of the Person class, and it also adds a new property major.
Polymorphism is another important concept in object-oriented programming. It allows objects to respond to the same message in different ways. For example, if we have an Animal class, it can have different subclasses such as Cat, Dog, and Bird. These subclasses all inherit the properties and methods of the Animal class, but they can respond to the same behavior in different ways. For example, we can call the make_sound() method of the Animal class, but the Cat, Dog, and Bird subclasses will implement this method in different ways:
class Animal: def make_sound(self): pass class Cat(Animal): def make_sound(self): print("Meow!") class Dog(Animal): def make_sound(self): print("Woof!") class Bird(Animal): def make_sound(self): print("Chirp!") def make_animals_sound(animals): for animal in animals: animal.make_sound() animals = [Cat(), Dog(), Bird()] make_animals_sound(animals)
The above code defines an Animal class, which has a make_sound() method. The Cat, Dog, and Bird classes inherit from the Animal class, and they all implement the make_sound() method. The make_animals_sound() function accepts a list of animals as a parameter and calls the make_sound() method of each animal. When the make_animals_sound() function is called, Cat, Dog, and Bird objects will respond to the make_sound() method in different ways, thereby achieving polymorphism.
The above is the detailed content of Reveal the secrets behind Python classes and objects to help you master object-oriented programming easily. For more information, please follow other related articles on the PHP Chinese website!