Python 面向对象编程入门:打造模块化、灵活可扩展的代码

liftword4个月前 (02-17)技术文章61

Python 进阶知识:面向对象编程(OOP)

面向对象编程(Object-Oriented Programming, OOP)是一种将代码组织成对象的编程方法,使程序更具模块化、可复用性和可扩展性。Python 提供了对 OOP 的强大支持,以下是关键概念和示例。


1. 面向对象编程的基本概念

  1. 类(Class):类是创建对象的蓝图或模板,定义了对象的属性(变量)和方法(函数)。
  2. 对象(Object):类的实例,每个对象拥有独立的数据属性和方法。
  3. 属性(Attributes):类的变量,用来存储对象的状态或数据。
  4. 方法(Methods):类中的函数,用来定义对象的行为。
  5. 封装(Encapsulation):将数据和操作封装在类中,限制外部直接访问。
  6. 继承(Inheritance):子类继承父类的属性和方法,实现代码复用。
  7. 多态(Polymorphism):不同对象可以用统一的接口调用方法。

2. 创建类和对象



class Dog:

# 类的构造函数,初始化对象的属性

def __init__(self, name, age):

self.name = name # 实例属性

self.age = age



# 类的方法

def bark(self):

print(f"{self.name} 正在叫!")



# 创建 Dog 类的对象

my_dog = Dog("Buddy", 3)

print(my_dog.name) # 输出:Buddy

my_dog.bark() # 输出:Buddy 正在叫!




3. 封装(Encapsulation)

封装通过访问控制来保护对象的私有数据,通常通过前缀 ___ 实现。



class Person:

def __init__(self, name, age):

self.__name = name # 私有属性

self.__age = age



def get_name(self):

return self.__name



def set_age(self, age):

if age > 0:

self.__age = age

else:

print("年龄必须为正数")



# 实例化对象并访问私有属性

person = Person("Alice", 30)

print(person.get_name()) # 输出:Alice

person.set_age(32) # 修改年龄




4. 继承(Inheritance)

通过继承可以创建新类(子类)来复用已有类(父类)的属性和方法。



class Animal:

def speak(self):

print("动物在发声")



# Dog 类继承 Animal 类

class Dog(Animal):

def bark(self):

print("狗在叫")



dog = Dog()

dog.speak() # 输出:动物在发声

dog.bark() # 输出:狗在叫




5. 多态(Polymorphism)

多态允许不同的类使用相同的方法名称,以提供灵活性和可扩展性。



class Cat:

def sound(self):

print("喵喵叫")



class Dog:

def sound(self):

print("汪汪叫")



# 定义一个通用的函数,可以调用不同对象的 sound 方法

def animal_sound(animal):

animal.sound()



cat = Cat()

dog = Dog()

animal_sound(cat) # 输出:喵喵叫

animal_sound(dog) # 输出:汪汪叫




6. 方法重写(Method Overriding)

子类可以重写父类的方法,提供特定实现。



class Animal:

def speak(self):

print("动物发声")



class Dog(Animal):

def speak(self):

print("狗在叫")



dog = Dog()

dog.speak() # 输出:狗在叫




掌握 OOP 是编写高效、模块化 Python 代码的关键,它让代码结构清晰且易于维护,使复杂应用的开发更加灵活。



相关文章

python极简教程:对象的方法_python对象的含义

这一场,主讲python的面向对象的第二部分—— 对象的方法 。目的:掌握Python对象的五个核心方法。init和new讲解之前,先上一段代码class Demo: def __init__...

Python类和对象详解_python中的类和对象,属性和方法

Python中的类(Class)和对象(Object)是面向对象编程的核心概念。通过类来定义对象的属性和行为,而对象则是类的实例。1. 类(Class)类是用来创建对象的模板,它定义了对象的属性(数据...

如何用 Python 构建一个决策树_python决策结构

本文最初发布于 Medium 网站,经原作者授权由 InfoQ 中文站翻译并分享。决策树是一个经久不衰的话题。本文要做的是将一系列决策树组合成一个单一的预测模型;也就是说,我们将创建集成方法(Ense...

详细介绍一下Python中的类与对象_python对象和类的关系

类和对象是面向对象编程的两个核心概念,而Python作为一门支持面向对象的编程语言,也是需要通过类和对象来实现代码的组织和封装的,下面我们就来详细介绍一下Python中的类与对象,来帮助大家一起了解它...

python大师讲解python对象类型_python 对象类型

Python对象的基本概念对象是Python中最基本概念。Python程序可以分解成模块、语句、表达式、以及对象程序由模块构成模块包含语句语句包含表达式表达式建立并处理对象Python内置类型Pyth...

当你实例化一个对象时,Python做了什么?

在 Python 中实例化一个对象时,解释器首先查找该对象的类,并创建该类的一个新实例。这涉及到为新对象保留一块内存,并初始化其属性。初始化时会调用类的 __init__() 方法,该方法负责设置对象...