类和对象:
定义类:
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
print("Woof!")
# 创建对象
my_dog = Dog(name="Buddy", age=3)
实例方法:
# 调用实例方法
my_dog.bark()
类属性和实例属性:
# 类属性
class Dog:
species = "Canis familiaris"
def __init__(self, name, age):
self.name = name
self.age = age
# 访问类属性
print(Dog.species)
继承:
class GoldenRetriever(Dog):
def fetch(self):
print("Fetching the ball!")
# 创建子类对象
my_golden = GoldenRetriever(name="Max", age=2)
my_golden.bark() # 调用父类方法
my_golden.fetch() # 调用子类方法
封装:
通过私有属性和方法实现封装:
class BankAccount:
def __init__(self, balance):
self.__balance = balance
def deposit(self, amount):
self.__balance += amount
def withdraw(self, amount):
if amount <= self.__balance:
self.__balance -= amount
else:
print("Insufficient funds.")
def get_balance(self):
return self.__balance
# 创建对象
account = BankAccount(balance=1000)
account.deposit(500)
account.withdraw(200)
print(account.get_balance())
多态:
Python 中天生支持多态,同一个方法名可以在不同的类中具有不同的实现。
class Cat:
def make_sound(self):
print("Meow!")
class Dog:
def make_sound(self):
print("Woof!")
# 多态
def animal_sound(animal):
animal.make_sound()
my_cat = Cat()
my_dog = Dog()
animal_sound(my_cat)
animal_sound(my_dog)
类方法和静态方法:
class MyClass:
class_variable = "I am a class variable"
def __init__(self, instance_variable):
self.instance_variable = instance_variable
@classmethod
def class_method(cls):
print(cls.class_variable)
@staticmethod
def static_method():
print("I am a static method")
# 调用类方法和静态方法
MyClass.class_method()
MyClass.static_method()
这些是一些基本的面向对象编程的概念和用法。通过类和对象,可以更好地组织和管理代码,提高代码的可维护性和可复用性。
转载请注明出处:http://www.pingtaimeng.com/article/detail/13277/Python3